Nếu một vấn đề chưa tồn tại, hãy tạo nó. vấn đề tầm thường [e. g. sửa lỗi đánh máy] không yêu cầu tạo bất kỳ sự cố nào
Khi bạn đã khắc phục sự cố, hãy chạy thử nghiệm, chạy make patchcheck
và nếu mọi thứ đều ổn, hãy cam kết
Đẩy nhánh vào ngã ba của bạn trên GitHub và tạo yêu cầu kéo . Bao gồm số vấn đề bằng cách sử dụng
./configure --with-pydebug && make -j
0 trong mô tả yêu cầu kéo. Ví dụ. gh-12345: Fix some bug in spam module
Thêm mục nhập Tin tức vào thư mục
./configure --with-pydebug && make -j
1 dưới dạng tệp riêng lẻ. Mục nhập tin tức có thể được tạo bằng cách sử dụng blurb-it hoặc công cụ blurb và lệnh ./configure --with-pydebug && make -j
2 của nó. Vui lòng đọc thêm về ./configure --with-pydebug && make -j
3 trong tài liệu . Ghi chú
Cộng tác viên lần đầu cần ký Thỏa thuận cấp phép cộng tác viên [CLA] như được mô tả trong phần Cấp phép của hướng dẫn này.
Đường dẫn nhanh#
Dưới đây là một số liên kết mà bạn có thể sẽ tham khảo thường xuyên khi đóng góp cho Python
Người tìm bệnh
Trạng thái Buildbot
Nhận trợ giúp ở đâu
PEP [Đề xuất cải tiến Python]
Git Bootcamp và Cheat Sheet
Trạng thái của các nhánh Python#
Đã chuyển sang Trạng thái của các phiên bản Python
Đóng góp#
Chúng tôi khuyến khích mọi người đóng góp cho Python và đó là lý do tại sao chúng tôi đưa ra hướng dẫn dành cho nhà phát triển này. Nếu bạn vẫn còn thắc mắc sau khi xem tài liệu trong hướng dẫn này, thì nhóm Cố vấn Python cốt lõi sẵn sàng giúp hướng dẫn những người đóng góp mới trong suốt quá trình
Một số cá nhân từ cộng đồng Python đã đóng góp vào một loạt hướng dẫn tuyệt vời tại Hướng dẫn nguồn mở
Các nhà phát triển cốt lõi cũng như những người đóng góp sẽ thấy các hướng dẫn sau hữu ích
Cách đóng góp cho mã nguồn mở
Xây dựng cộng đồng chào đón
Hướng dẫn đóng góp cho Python
người đóng góp
phim tài liệu
Triager
Nhà phát triển cốt lõi
Thiết lập và Xây dựng
Hỗ trợ tài liệu
Người tìm bệnh
trách nhiệm
Nhận trợ giúp ở đâu
Bắt đầu
Xử lý một vấn đề
Nhật ký nhà phát triển
Vòng đời của yêu cầu kéo
Hướng dẫn mẫu
Giúp phân loại các vấn đề
Chấp nhận yêu cầu kéo
Chạy và viết bài kiểm tra
Cấu trúc lại văn bản Primer
Chỉ số chuyên gia
Chu kỳ phát triển
Khắc phục các sự cố “dễ dàng” [và hơn thế nữa]
Phiên dịch
Nhãn GitHub
Động lực và liên kết
Theo dõi quá trình phát triển của Python
Sự cố GitHub cho người dùng BPO
Nhà phát triển cốt lõi Giờ làm việc
Git Bootcamp và Cheat Sheet
Đội phân loại
Chỉ số chuyên gia
Chu kỳ phát triển
Chúng tôi khuyên bạn nên đọc các tài liệu trong hướng dẫn này khi cần thiết. Bạn có thể dừng ở nơi bạn cảm thấy thoải mái và bắt đầu đóng góp ngay lập tức mà không cần đọc và hiểu các tài liệu này cùng một lúc. Nếu bạn chọn bỏ qua trong tài liệu, hãy lưu ý rằng nó được viết với giả định rằng tài liệu trước đó đã được đọc, do đó bạn có thể thấy cần phải quay lại để điền vào các khái niệm và thuật ngữ còn thiếu
Đề xuất các thay đổi đối với chính Python#
Cải thiện mã, tài liệu và thử nghiệm của Python là những nhiệm vụ đang diễn ra sẽ không bao giờ “hoàn thành”, vì Python hoạt động như một phần của hệ thống công nghệ không ngừng phát triển. Một nhiệm vụ đang diễn ra thậm chí còn khó khăn hơn các hoạt động bảo trì cần thiết này là tìm cách biến Python, dưới dạng thư viện chuẩn và định nghĩa ngôn ngữ, thành một công cụ thậm chí còn tốt hơn trong bộ công cụ của nhà phát triển
Mặc dù những loại thay đổi này hiếm hơn nhiều so với những thay đổi được mô tả ở trên, nhưng chúng vẫn xảy ra và quá trình đó cũng được mô tả như một phần của hướng dẫn này
Thêm vào Stdlib
Thay đổi ngôn ngữ Python
Triển khai thông dịch viên khác#
Hướng dẫn này dành riêng cho việc đóng góp cho trình thông dịch tham chiếu Python, còn được gọi là CPython [trong khi hầu hết thư viện chuẩn được viết bằng Python, lõi trình thông dịch được viết bằng C và tích hợp dễ dàng nhất với hệ sinh thái C và C++]
Có các triển khai Python khác, mỗi triển khai có một trọng tâm khác nhau. Giống như CPython, họ luôn có nhiều việc muốn làm hơn là có các nhà phát triển làm việc với họ. Một số ví dụ chính có thể được quan tâm là
PyPy. Trình thông dịch Python tập trung vào hoạt động tốc độ cao [được biên dịch bởi JIT] trên các nền tảng chính
Jython. Trình thông dịch Python tập trung vào việc tích hợp tốt với môi trường Máy ảo Java [JVM]
Trăn sắt. Trình thông dịch Python tập trung vào việc tích hợp tốt với Common Language Runtime [CLR] được cung cấp bởi. NET và Mono
không ngăn xếp. Trình thông dịch Python tập trung vào việc cung cấp các vi luồng nhẹ trong khi vẫn tương thích phần lớn với các mô-đun mở rộng dành riêng cho CPython
Tài nguyên chính#
- Hướng dẫn phong cách mã hóa
PEP 7 [Hướng dẫn kiểu cho mã C]
PEP 8 [Hướng dẫn kiểu cho mã Python]
- Người tìm bệnh
Trình theo dõi meta [trình theo dõi vấn đề cho trình theo dõi vấn đề]
Chỉ số chuyên gia
Trạng thái Buildbot
- Mã nguồn
Duyệt trực tuyến
Ảnh chụp nhánh *chính*
Trình cài đặt OS X hàng ngày
PEP [Đề xuất cải tiến Python]
Nhận trợ giúp ở đâu
Nhật ký nhà phát triển
Tài nguyên bổ sung #
Bất kỳ ai cũng có thể sao chép các nguồn cho hướng dẫn này. Xem Trợ giúp với Hướng dẫn dành cho nhà phát triển .
- Giúp với …
Khám phá nội bộ
Thay đổi ngữ pháp của CPython
Hướng dẫn về Trình phân tích cú pháp
Thiết kế trình biên dịch
Thiết kế thu gom rác
- hỗ trợ công cụ
Hỗ trợ GDB
Phân tích động với Clang
Các công cụ khác nhau với các tệp cấu hình được tìm thấy trong thư mục Misc
Thông tin về các trình soạn thảo và cấu hình của chúng có thể được tìm thấy trong wiki
con trăn. bảo trì tổ chức
Tìm kiếm hướng dẫn này
Quy Tắc Ứng Xử#
Xin lưu ý rằng tất cả các tương tác trên cơ sở hạ tầng do Python Software Foundation hỗ trợ đều được quy định trong Quy tắc ứng xử của PSF, bao gồm tất cả cơ sở hạ tầng được sử dụng trong quá trình phát triển chính Python [e. g. danh sách gửi thư, trình theo dõi vấn đề, GitHub, v.v. ]. Nói chung, điều này có nghĩa là mọi người đều phải cởi mở, ân cần và tôn trọng người khác bất kể vị trí của họ trong dự án