Python 개발자 가이드¶
이 가이드는 신규 기여자와 숙련된 기여자 모두를 위한 Python기여 종합 자료입니다. 이 가이드는 Python을 관리하는 바로 그 커뮤니티가 관리합니다. 여러분의 기여를 환영합니다!
하고자 하는 일에 가장 잘 맞는 영역부터 시작하십시오. 이 가이드의 자료를 검토한 후에도 질문이 있다면, Core Python Mentorship 그룹에서 신규 기여자가 이 과정을 밟을 수 있도록 안내해 드립니다.
문서 |
코드 |
트리아지 |
|---|---|---|
이 가이드의 각 절은 필요에 따라 읽을 것을 권장합니다. 충분히 이해했다고 느끼는 지점에서 멈추고, 모든 내용을 읽고 이해하지 않아도 즉시 기여를 시작할 수 있습니다. 가이드의 여러 부분을 건너뛰어 읽기로 했다면 일부 절은 서로 연계되어 있으므로, 빠뜨린 개념이나 용어를 확인하기 위해 앞부분으로 돌아가야 할 수도 있음을 유의하십시오.
더 폭넓은 오픈 소스 기여에 관한 조언을 제공하기 위해 Python 커뮤니티의 여러 구성원이 오픈 소스 가이드의 훌륭한 가이드 시리즈에 기여했습니다. 예를 들어, 오픈 소스에 기여하는 방법입니다.
Python 작업을 하기 위해 컴파일러 엔지니어일 필요는 없습니다 – Savannah Ostrowski
빠른 참조¶
참고
빠른 참조 문서는 시작하기에서 치트 시트와 개요 역할을 하도록 이동되었습니다.
관련 새로운 빠른 참조로 이동하십시오.
Python 자체에 변경 사항 제안하기¶
Python은 끊임없이 발전하는 기술 시스템의 일부로 작동하므로 Python의 코드, 문서 및 테스트를 개선하는 작업은 결코 “완료”되지 않는 지속적인 과제입니다. 이러한 필수 유지 관리 활동보다 훨씬 더 어려운 지속적인 과제는 표준 라이브러리와 언어 정의의 형태로 제공되는 Python을 개발자의 도구 모음에서 더욱 훌륭한 도구로 만드는 방법을 찾는 것입니다.
이러한 종류의 변경은 위에서 설명한 변경보다 훨씬 드물지만 실제로 이루어지며, 그 과정 역시 이 가이드의 일부로 설명합니다.
주요 자료¶
코딩 스타일 가이드
소스 코드
main브랜치의 스냅샷을 다운로드하십시오
PEPs (Python 개선 제안)
추가 자료¶
누구나 이 가이드의 소스를 복제할 수 있습니다. 관련 개발자 가이드에 기여하기를 참조하십시오.
도움말 …
도구 지원
관련 Misc/ 디렉터리에 있는 구성 파일을 사용하는 다양한 도구
행동 강령¶
Python Software Foundation이 지원하는 인프라에서 이루어지는 모든 상호작용에는 PSF 행동 강령이 적용된다는 점에 유의하십시오. 여기에는 Python 자체의 개발에 사용되는 모든 인프라(예: Discourse, 이슈 추적기, GitHub 등)가 포함됩니다. 일반적으로 이는 프로젝트 내의 지위와 관계없이 모든 사람이 개방적이고 사려 깊으며 타인을 존중해야 한다는 의미입니다.
기타 인터프리터 구현¶
이 가이드는 CPython이라고도 하는 Python 참조 인터프리터에 기여하기 위한 것입니다(표준 라이브러리의 대부분은 Python으로 작성되지만, 인터프리터 코어는 C로 작성되며 C 및 C++ 생태계와 가장 쉽게 통합됩니다).
각각 다른 부분에 중점을 둔 다른 Python 구현도 있습니다. CPython과 마찬가지로, 이들에는 개발자가 작업할 수 있는 것보다 하고자 하는 일이 항상 더 많습니다. 관심을 가질 만한 주요 예는 다음과 같습니다.
PyPy: 주요 플랫폼에서 고속(JIT 컴파일) 실행에 중점을 둔 Python 인터프리터입니다.
GraalPy: GraalVM을 기반으로 구축되었으며 Java에 임베딩하기 위한 일급 지원을 제공하는 Python 인터프리터입니다.
Jython: Java 가상 머신(JVM) 환경과의 원활한 통합에 중점을 둔 Python 인터프리터입니다.
IronPython: .NET과 Mono가 제공하는 공용 언어 런타임(CLR)과의 원활한 통합에 중점을 둔 Python 인터프리터입니다.
MicroPython: 마이크로컨트롤러와 제약이 있는 환경에서 실행하도록 최적화되었으며 Python 표준 라이브러리의 일부만 포함하는 소형 Python 인터프리터입니다.
CircuitPython: 저비용 마이크로컨트롤러 보드에서 실험하고 코딩을 배우는 과정을 단순화하도록 설계된 MicroPython의 포크입니다.
전체 목차¶
- 시작하기
- 빠른 참조
- 설정 및 빌드
- “쉬운” 이슈 수정하기(그리고 그 이상)
- Git 부트캠프와 치트 시트
- CPython GitHub 저장소 포크하기
- 포크한 CPython 저장소 복제하기
- 원격 저장소 구성하기
- 원격 저장소 목록 보기
- 이름과 이메일 주소 설정하기
- Windows에서
autocrlf활성화 - 브랜치 생성 및 전환
- 브랜치 삭제
- 브랜치 이름 변경
- 파일 스테이징 및 커밋
- 변경 사항 되돌리기
- 변경 사항 스태시하기
- 변경 사항 비교하기
- 변경 사항 푸시하기
- 풀 리퀘스트 생성하기
- 이슈 및 풀 리퀘스트에 링크하기
- CPython 포크 업데이트하기
- Git에 패치 적용하기
- 다른 사람의 풀 리퀘스트 체크아웃하기
- 풀 리퀘스트 승인 및 병합하기
- 자동 병합 취소하기
- 병합된 변경 사항 백포트하기
- 병합 전 풀 리퀘스트 편집하기
- GitHub CLI
- Git 작업 트리
- 풀 리퀘스트의 수명 주기
- 도움받을 곳
- AI 도구 사용 지침
- 개발 워크플로
- 이슈와 트리아지
- 문서
- 테스트와 빌드봇
- 개발 도구
- 코어 팀
- 보안
- CPython의 내부 구조
- 파이썬 버전 상태