Cài sứa python

Tổng quan

jellyfish là một thư viện để khớp gần đúng và phiên âm của các chuỗi

Nguồn. https. //github. com/jamesturk/sứa

Tài liệu. https. //jamesturk. github. io/sứa/

Vấn đề. https. //github. com/jamesturk/jellyfish/issues

Thuật toán đi kèm

So sánh chuỗi

  • Khoảng cách Levenshtein
  • Khoảng cách Damerau-Levenshtein
  • Khoảng cách Jaro
  • Khoảng cách Jaro-Winkler
  • Xếp hạng trận đấu Cách tiếp cận So sánh
  • Khoảng cách hamming

mã hóa ngữ âm

  • Mỹ Soundex
  • siêu âm
  • NYSIIS [Hệ thống tình báo và nhận dạng bang New York]
  • Xếp hạng trận đấu Codex

Ví dụ sử dụng

>>> import jellyfish
>>> jellyfish.levenshtein_distance[u'jellyfish', u'smellyfish']
2
>>> jellyfish.jaro_distance[u'jellyfish', u'smellyfish']
0.89629629629629637
>>> jellyfish.damerau_levenshtein_distance[u'jellyfish', u'jellyfihs']
1

>>> jellyfish.metaphone[u'Jellyfish']
'JLFX'
>>> jellyfish.soundex[u'Jellyfish']
'J412'
>>> jellyfish.nysiis[u'Jellyfish']
'JALYF'
>>> jellyfish.match_rating_codex[u'Jellyfish']
'JLLFSH'

Các hướng dẫn này bao gồm cách lấy bản sao mã nguồn đang hoạt động và phiên bản đã biên dịch của trình thông dịch CPython [CPython là phiên bản Python có sẵn từ https. //www. con trăn. tổ chức/]. Nó cũng cung cấp một cái nhìn tổng quan về cấu trúc thư mục của mã nguồn CPython

Ngoài ra, nếu bạn đã cài đặt Docker, bạn có thể muốn sử dụng hình ảnh chính thức của chúng tôi. Chúng chứa các bản phát hành mới nhất của một số phiên bản Python, cùng với git head và chỉ được cung cấp cho mục đích phát triển và thử nghiệm

Xem thêm

The Tham khảo nhanh cung cấp bản tóm tắt ngắn gọn về quy trình từ cài đặt git đến gửi yêu cầu kéo.

Cài đặt
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
5#

CPython được phát triển bằng git để kiểm soát phiên bản. Chương trình dòng lệnh git có tên là

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
5; . git dễ dàng có sẵn cho tất cả các hệ điều hành phổ biến

  • Cài đặt

    Vì repo CPython được lưu trữ trên GitHub, vui lòng tham khảo hướng dẫn thiết lập GitHub hoặc hướng dẫn dự án git để biết hướng dẫn cài đặt từng bước. Bạn cũng có thể muốn xem xét một ứng dụng khách đồ họa như TortoiseGit hoặc GitHub Desktop

  • định cấu hình

    Định cấu hình tên và email của bạn và tạo khóa SSH vì điều này sẽ cho phép bạn tương tác với GitHub mà không cần nhập tên người dùng và mật khẩu mỗi lần . Trên Windows, bạn cũng nên bật autocrlf .

Lấy mã nguồn#

Repo CPython được lưu trữ trên GitHub. Để có một bản sao của mã nguồn, bạn nên phân nhánh kho lưu trữ Python trên GitHub , tạo một bản sao cục bộ của mã nguồn của bạn. . .

Bạn sẽ chỉ cần thực hiện các bước này một lần cho mỗi máy

  1. truy cập https. //github. com/trăn/cpython

  2. Nhấn Dĩa ở trên cùng bên phải.

  3. Khi được hỏi nơi phân nhánh kho lưu trữ, hãy chọn phân nhánh kho lưu trữ cho tên người dùng của bạn

  4. Ngã ba của bạn sẽ được tạo tại

    $ ./configure --with-pydebug
    
    0

  5. Sao chép ngã ba GitHub của bạn [thay thế

    $ ./configure --with-pydebug
    
    1 bằng tên người dùng của bạn]

    ________số 8

    [Bạn có thể sử dụng cả URL dựa trên SSH hoặc dựa trên HTTPS. ]

  1. Thêm một điều khiển từ xa

    $ ./configure --with-pydebug
    
    2, sau đó định cấu hình
    $ git remote -v
    origin  git@github.com:/cpython.git [fetch]
    origin  git@github.com:/cpython.git [push]
    upstream        //github.com/python/cpython [fetch]
    upstream        git@github.com:/cpython.git [push]
    $ git config branch.main.remote
    upstream
    
    5 để kéo
    $ ./configure --with-pydebug
    
    4 từ
    $ ./configure --with-pydebug
    
    2 và luôn đẩy sang
    $ ./configure --with-pydebug
    
    6

    $ git remote -v
    origin  git@github.com:/cpython.git [fetch]
    origin  git@github.com:/cpython.git [push]
    upstream        //github.com/python/cpython [fetch]
    upstream        git@github.com:/cpython.git [push]
    $ git config branch.main.remote
    upstream
    
    4

  2. Xác minh rằng thiết lập của bạn là chính xác

    $ git remote -v
    origin  git@github.com:/cpython.git [fetch]
    origin  git@github.com:/cpython.git [push]
    upstream        //github.com/python/cpython [fetch]
    upstream        git@github.com:/cpython.git [push]
    $ git config branch.main.remote
    upstream
    

Để biết thêm thông tin về các lệnh này, hãy xem Git Bootcamp và Cheat Sheet .

Nếu bạn đã làm đúng mọi thứ, bây giờ bạn sẽ có một bản sao của mã trong thư mục

$ ./configure --with-pydebug
7 và hai điều khiển từ xa đề cập đến ngã ba GitHub của riêng bạn [
$ ./configure --with-pydebug
6] và kho lưu trữ CPython chính thức [
$ ./configure --with-pydebug
2]

Nếu bạn muốn có một bản sao hoạt động của phiên bản Python đã phát hành, tôi. e. , một phiên bản trong chế độ bảo trì , bạn có thể kiểm tra nhánh phát hành. Chẳng hạn, để kiểm tra một bản sao đang hoạt động của Python 3. 8, làm

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
90.

Bạn sẽ cần biên dịch lại CPython khi thực hiện cập nhật như vậy

Xin lưu ý rằng CPython sẽ nhận thấy rằng nó đang được chạy từ một bản sao đang hoạt động. Điều này có nghĩa là nếu bạn chỉnh sửa mã nguồn của CPython trong bản sao làm việc của mình, các thay đổi đối với mã Python sẽ được trình thông dịch chọn để sử dụng và kiểm tra ngay lập tức. [Nếu bạn thay đổi mã C, bạn sẽ cần biên dịch lại các tệp bị ảnh hưởng như được mô tả bên dưới. ]

Các bản vá cho tài liệu có thể được tạo từ cùng một kho lưu trữ; . Getting Started.

Biên dịch và xây dựng#

CPython cung cấp một số cờ biên dịch giúp gỡ lỗi nhiều thứ khác nhau. Mặc dù tất cả các cờ đã biết có thể được tìm thấy trong tệp

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
91, nhưng cờ quan trọng nhất là cờ
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
92 tạo ra cái được gọi là bản dựng “pydebug”. Cờ này bật nhiều kiểm tra tình trạng bổ sung khác nhau giúp phát hiện các sự cố phổ biến. Việc sử dụng cờ phổ biến đến mức bật cờ là một tùy chọn biên dịch cơ bản

Bạn phải luôn phát triển theo bản dựng pydebug của CPython [trường hợp duy nhất bạn không nên làm là nếu bạn đang thực hiện các phép đo hiệu suất]. Ngay cả khi chỉ làm việc trên mã Python thuần túy, bản dựng pydebug cung cấp một số kiểm tra hữu ích mà người dùng không nên bỏ qua

Xem thêm

Tác dụng của các cờ cấu hình và xây dựng khác nhau được ghi lại trong tài liệu cấu hình Python

Unix #

Trình thông dịch CPython cốt lõi chỉ cần xây dựng trình biên dịch C, tuy nhiên, một số mô-đun mở rộng sẽ cần các tiêu đề phát triển cho các thư viện bổ sung [chẳng hạn như thư viện

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
93 để nén]. Tùy thuộc vào những gì bạn định làm, bạn có thể cần cài đặt các yêu cầu bổ sung này để trình thông dịch đã biên dịch hỗ trợ các tính năng mong muốn

Nếu bạn muốn cài đặt các phần phụ thuộc tùy chọn này, hãy tham khảo phần Cài đặt phần phụ thuộc bên dưới.

Nếu bạn không cần cài đặt chúng, các bước cơ bản để xây dựng Python để phát triển là định cấu hình và sau đó biên dịch nó

Cấu hình thường là

$ ./configure --with-pydebug

Có nhiều cờ hơn cho

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94, nhưng đây là mức tối thiểu bạn nên làm để có bản dựng pydebug của CPython

Ghi chú

Bạn có thể cần chạy

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
95 trước hoặc sau khi chạy lại
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 trong một thư mục bản dựng cụ thể

Sau khi hoàn tất

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94, bạn có thể biên dịch CPython với

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
9

Điều này sẽ xây dựng CPython chỉ với các cảnh báo và lỗi được in ra thiết bị lỗi chuẩn và sử dụng tối đa 2 lõi CPU. Nếu bạn đang sử dụng máy đa lõi có nhiều hơn 2 lõi [hoặc máy một lõi], bạn có thể điều chỉnh số được truyền vào cờ

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
98 để khớp với số lõi bạn có [hoặc nếu phiên bản Make của bạn hỗ trợ nó . ]

Khi kết thúc quá trình xây dựng, bạn sẽ thấy một thông báo thành công, có thể theo sau là danh sách các mô-đun mở rộng chưa được xây dựng do thiếu phần phụ thuộc của chúng

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
1

Nếu quá trình xây dựng không thành công và bạn đang sử dụng trình biên dịch tuân thủ C89 hoặc C99, vui lòng mở báo cáo lỗi trên trình theo dõi vấn đề

Nếu bạn quyết định Cài đặt phần phụ thuộc , bạn sẽ cần chạy lại cả

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 và
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
11.

Sau khi xây dựng xong CPython, bạn sẽ có một bản dựng đang hoạt động có thể chạy tại chỗ; . g. trên macOS theo mặc định], để tránh xung đột với thư mục

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
14. Thông thường không cần cài đặt bản sao Python đã xây dựng của bạn. Trình thông dịch sẽ nhận ra nó đang được chạy từ đâu và do đó sử dụng các tệp được tìm thấy trong bản sao làm việc. Nếu bạn lo lắng rằng bạn có thể vô tình cài đặt bản sao đang hoạt động của mình, bạn có thể thêm
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
15 vào bước cấu hình. Khi chạy từ thư mục làm việc của bạn, tốt nhất là tránh sử dụng cờ
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
16 thành
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94;

Kêu vang#

Nếu bạn đang sử dụng tiếng kêu để xây dựng CPython, một số cờ bạn có thể muốn đặt để tắt một số cảnh báo tiêu chuẩn đặc biệt không cần thiết đối với CPython là

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
18. Bạn có thể đặt biến môi trường
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
19 của mình thành các cờ này khi chạy
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94

Nếu bạn đang sử dụng clang với ccache, hãy tắt các cảnh báo ồn ào của

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
31 bằng cờ
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
32. Những cảnh báo này là do clang không có đủ thông tin để phát hiện rằng các dấu ngoặc đơn không liên quan trong các macro mở rộng là hợp lệ, bởi vì quá trình tiền xử lý được thực hiện riêng biệt bởi ccache

Nếu bạn đang sử dụng LLVM 2. 8, cũng sử dụng cờ

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
33 để xây dựng mô-đun
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
34 [không có cờ, phần còn lại của CPython vẫn sẽ xây dựng bình thường]

Các cửa sổ#

Ghi chú

Nếu bạn đang sử dụng Hệ thống con Windows dành cho Linux [WSL], sao chép kho lưu trữ từ chương trình shell gốc của Windows như PowerShell hoặc

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
35 . g. tải xuống Git cho Windows từ trang web chính thức của Git. Nếu không, Visual Studio sẽ không thể tìm thấy tất cả các tệp của dự án và sẽ không thể xây dựng.

Để biết tóm tắt từng bước ngắn gọn về cách xây dựng Python trên Windows, bạn có thể đọc hướng dẫn của Victor Stinner

Tất cả các phiên bản Python được hỗ trợ đều có thể được xây dựng bằng Microsoft Visual Studio 2017 trở lên. Bạn có thể tải xuống và sử dụng bất kỳ phiên bản miễn phí hoặc trả phí nào của Visual Studio

Khi cài đặt nó, hãy chọn khối lượng công việc Phát triển PythonCác công cụ phát triển gốc của Python . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab . Bạn có thể tìm thấy Git cho Windows trên tab component to obtain all of the necessary build tools. You can find Git for Windows on the Các thành phần riêng lẻ nếu bạn chưa cài đặt nó.

Ghi chú

Nếu bạn muốn xây dựng trình cài đặt MSI, hãy lưu ý rằng chuỗi công cụ xây dựng cho chúng phụ thuộc vào Microsoft. NET Framework phiên bản 3. 5 [có thể không có trong các phiên bản Windows gần đây, chẳng hạn như Windows 10]. Nếu bạn đang xây dựng trên phiên bản Windows gần đây, hãy sử dụng Bảng điều khiển [ Chương trình ‣ Chương trình và Tính năng ‣ Bật hoặc tắt Tính năng của Windows ] và đảm bảo rằng . NET Framework 3. 5 [bao gồm. MẠNG 2. 0 và 3. 0] .NET Framework 3.5 [includes .NET 2.0 and 3.0] được bật.

Bản dựng đầu tiên của bạn nên sử dụng dòng lệnh để đảm bảo mọi phụ thuộc bên ngoài đều được tải xuống

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
3

Việc xây dựng dòng lệnh ở trên sử dụng đối số

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
36 để xây dựng trong cấu hình
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
37, cho phép kiểm tra và xác nhận hữu ích cho việc phát triển Python. Theo mặc định, nó được xây dựng trong cấu hình
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
38 và cho nền tảng 64-bit
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
39 thay vì 32-bit
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
30;

Sau khi quá trình xây dựng này thành công, bạn có thể mở giải pháp

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
33 trong Visual Studio IDE để tiếp tục phát triển, nếu muốn. Khi xây dựng trong Visual Studio, đảm bảo chọn cài đặt bản dựng phù hợp với những gì bạn đã sử dụng với tập lệnh [cấu hình Gỡ lỗix64 platform] from the dropdown menus in the toolbar.

Ghi chú

Nếu bạn cần thay đổi cấu hình hoặc nền tảng bản dựng, hãy xây dựng một lần với tập lệnh

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
34 được đặt thành các tùy chọn đó trước khi xây dựng với chúng trong VS để đảm bảo tất cả các tệp được xây dựng lại đúng cách, nếu không bạn có thể gặp lỗi khi tải các mô-đun không được xây dựng lại

Tránh chọn cấu hình

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
35 và
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
36, vì chúng dành cho các bản dựng PGO và không dành cho phát triển bình thường

Bạn có thể chạy bản dựng Python mà bạn đã biên dịch

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
3

Xem readme PCBuild để biết thêm chi tiết về những phần mềm khác cần thiết và cách xây dựng

Cài đặt phụ thuộc #

Phần này giải thích cách cài đặt các tiện ích mở rộng bổ sung [e. g.

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
93] trên LinuxmacOS . Trên Windows, các tiện ích mở rộng đã được bao gồm và tạo tự động.

Linux#

Đối với các hệ thống dựa trên Unix, chúng tôi cố gắng sử dụng các thư viện hệ thống bất cứ khi nào có sẵn. Điều này có nghĩa là các thành phần tùy chọn sẽ chỉ được xây dựng nếu có sẵn các tiêu đề hệ thống có liên quan. Cách tốt nhất để có được các tiêu đề phù hợp sẽ khác nhau tùy theo bản phân phối, nhưng các lệnh thích hợp cho một số bản phân phối phổ biến nằm bên dưới

Trên Fedora, Red Hat Enterprise Linux và các hệ thống dựa trên

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
38 khác

$ ./configure --with-pydebug
3

Trên Fedora và các hệ thống dựa trên

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
39 khác

$ ./configure --with-pydebug
5

Trên Debian, Ubuntu và các hệ thống dựa trên

$ ./configure --with-pydebug
30 khác, hãy thử lấy các phần phụ thuộc cho Python mà bạn đang làm việc bằng cách sử dụng lệnh
$ ./configure --with-pydebug
30

Trước tiên, hãy đảm bảo rằng bạn đã bật các gói nguồn trong danh sách nguồn. Bạn có thể thực hiện việc này bằng cách thêm vị trí của các gói nguồn, bao gồm URL, tên phân phối và tên thành phần, vào

$ ./configure --with-pydebug
32. Dùng Ubuntu 22. 04 LTS [Jammy Jellyfish] chẳng hạn

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
40

Ngoài ra, bỏ ghi chú các dòng với

$ ./configure --with-pydebug
33 bằng trình chỉnh sửa, e. g

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
41

Đối với các bản phân phối khác, như Debian, hãy thay đổi URL và tên để tương ứng với bản phân phối cụ thể

Sau đó, bạn nên cập nhật chỉ mục gói

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
42

Bây giờ bạn có thể cài đặt các phụ thuộc bản dựng thông qua

$ ./configure --with-pydebug
30

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
43

Nếu bạn muốn xây dựng tất cả các mô-đun tùy chọn, hãy cài đặt các gói sau và phần phụ thuộc của chúng

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
44

hệ điều hành Mac#

Đối với hệ thống macOS [phiên bản 10. 9+], Công cụ dành cho nhà phát triển có thể được tải xuống và cài đặt tự động;

Nếu cần, hãy chạy như sau

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
45

Điều này cũng sẽ đảm bảo rằng các tệp tiêu đề hệ thống được cài đặt vào

$ ./configure --with-pydebug
35

Cũng lưu ý rằng macOS không bao gồm một số thư viện được sử dụng bởi thư viện chuẩn Python, bao gồm cả

$ ./configure --with-pydebug
36, vì vậy, bạn sẽ thấy một số lỗi xây dựng mô-đun mở rộng trừ khi bạn cài đặt các bản sao cục bộ của chúng. Kể từ OS X 10. 11, Apple không còn cung cấp các tệp tiêu đề cho phiên bản hệ thống OpenSSL không dùng nữa, điều đó có nghĩa là bạn sẽ không thể tạo tiện ích mở rộng
$ ./configure --with-pydebug
37. Một giải pháp là cài đặt các thư viện này từ trình quản lý gói của bên thứ ba, như Homebrew hoặc MacPorts, sau đó thêm đường dẫn thích hợp cho tệp tiêu đề và tệp thư viện vào lệnh
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 của bạn. Ví dụ,

với Homebrew

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
46

Đối với Trăn 3. 10 và mới hơn

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
47

Đối với phiên bản Python 3. 9 đến 3. 7

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
48

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
11

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
9

hoặc MacPorts

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
0

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
1

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
11

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
9

Đôi khi sẽ có các mô-đun tùy chọn được thêm vào cho một bản phát hành mới chưa được xác định trong phần phụ thuộc của bản dựng cấp hệ điều hành. Trong những trường hợp đó, chỉ cần yêu cầu hỗ trợ trong danh sách cố vấn cốt lõi

Giải thích cách xây dựng các phụ thuộc tùy chọn trên hệ thống dựa trên Unix mà không cần quyền truy cập root nằm ngoài phạm vi của hướng dẫn này

Để biết thêm chi tiết về các tùy chọn khác nhau và cân nhắc khi xây dựng, hãy tham khảo README macOS

Ghi chú

Mặc dù bạn cần một trình biên dịch C để xây dựng CPython, nhưng bạn không cần bất kỳ kiến ​​thức nào về ngôn ngữ C để đóng góp. Các khu vực rộng lớn của CPython được viết hoàn toàn bằng Python. khi viết bài này, CPython chứa mã Python nhiều hơn một chút so với C

Tái tạo
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94#

Nếu thay đổi được thực hiện đối với Python dựa trên một số chức năng dành riêng cho hệ thống POSIX [chẳng hạn như sử dụng lệnh gọi hệ thống mới], thì cần phải cập nhật tập lệnh

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 để kiểm tra tính khả dụng của chức năng

Tập lệnh

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 của Python được tạo từ
$ ./configure --with-pydebug
55 bằng Autoconf. Thay vì chỉnh sửa
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94, hãy chỉnh sửa
$ ./configure --with-pydebug
55 rồi chạy
$ ./configure --with-pydebug
58 để tạo lại
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
94 và một số tệp khác [chẳng hạn như
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
400]

Khi gửi bản vá có thay đổi đối với

$ ./configure --with-pydebug
55, bạn cũng nên gửi kèm các tệp đã tạo

Lưu ý rằng chạy

$ ./configure --with-pydebug
58 không giống như chạy
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
403. Ví dụ: bản thân
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
403 sẽ không tạo lại
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
405.
$ ./configure --with-pydebug
58 chạy
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
403 và một số công cụ khác lặp đi lặp lại khi thích hợp

Tập lệnh

$ ./configure --with-pydebug
55 của Python thường yêu cầu một phiên bản Autoconf cụ thể. Tại thời điểm này, điều này đọc.
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
409. Nó cũng yêu cầu phải cài đặt các tiện ích
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
410 và
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
411 trong hệ thống và tệp macro
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
412 nằm ở vị trí
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
413 thích hợp. Bạn có thể dễ dàng kiểm tra xem điều này có được cấu hình đúng hay không bằng cách chạy

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
3

Nếu bản sao hệ thống của Autoconf không khớp với phiên bản này, bạn sẽ cần cài đặt bản sao Autoconf của riêng mình

Tạo lại kết xuất ABI#

Các chi nhánh bảo trì [không phải

$ ./configure --with-pydebug
4] có một tệp đặc biệt nằm trong
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
415 cho phép chúng tôi biết liệu một Yêu cầu kéo nhất định có ảnh hưởng đến ABI công cộng hay không. Tệp này được GitHub CI sử dụng trong một kiểm tra có tên là
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
416. Kiểm tra này sẽ không thành công nếu một Yêu cầu kéo nhất định có các thay đổi đối với ABI và tệp ABI không được cập nhật

Kiểm tra này hoạt động như một biện pháp an toàn và không nhất thiết có nghĩa là không thể hợp nhất Yêu cầu kéo. Khi kiểm tra này không thành công, bạn nên thêm trình quản lý phát hành có liên quan vào PR để họ biết về thay đổi và họ có thể xác thực xem thay đổi có thể được thực hiện hay không

Quan trọng

Cho phép thay đổi ABI trước ứng cử viên phát hành đầu tiên. Sau ứng cử viên phát hành đầu tiên, tất cả các bản phát hành tiếp theo phải có cùng ABI để đảm bảo khả năng tương thích với các tiện ích mở rộng gốc và các công cụ khác tương tác với trình thông dịch Python. Xem tài liệu về giai đoạn ứng viên phát hành .

Bạn có thể tự tạo lại tệp ABI bằng cách gọi

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
417 Make target. Lưu ý rằng để thực hiện việc này, bạn cần tạo lại tệp ABI trong cùng môi trường mà GitHub CI sử dụng để kiểm tra tệp đó. Điều này là do các nền tảng khác nhau có thể bao gồm một số chi tiết dành riêng cho nền tảng khiến việc kiểm tra không thành công ngay cả khi ABI Python giống nhau. Cách dễ dàng hơn để tạo lại tệp ABI bằng cùng một nền tảng mà CI sử dụng là sử dụng Docker

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
4

Lưu ý rằng phiên bản

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
418 được sử dụng để thực thi tập lệnh có vấn đề và phải khớp với phiên bản được CI sử dụng để kiểm tra ABI. Xem tệp
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
419 để biết thêm thông tin

Khắc phục sự cố bản dựng #

Phần này liệt kê một số vấn đề phổ biến có thể phát sinh trong quá trình biên dịch Python, với các giải pháp được đề xuất

Tránh tạo lại các tệp được tạo tự động#

Trong một số trường hợp, bạn có thể gặp lỗi Python trong các tập lệnh như

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
420 hoặc
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
421 khi chạy
$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
11. Python tự động tạo một số mã của riêng nó và bản dựng đầy đủ từ đầu cần chạy các tập lệnh tạo tự động. Tuy nhiên, điều này làm cho bản dựng Python yêu cầu trình thông dịch Python đã được cài đặt sẵn; . x] Python với một [3] mới. x] Đã cài đặt Python hoặc ngược lại

Để khắc phục sự cố này, các tệp được tạo tự động cũng được kiểm tra trong kho lưu trữ Git. Vì vậy, nếu bạn không chạm vào các tập lệnh tạo tự động, thì thực sự không cần phải tự động tạo bất kỳ thứ gì

Trình chỉnh sửa và Công cụ#

Python được sử dụng đủ rộng rãi để thực tế tất cả các trình soạn thảo mã đều có một số hình thức hỗ trợ để viết mã Python. Các công cụ mã hóa khác nhau cũng bao gồm hỗ trợ Python

Đối với các trình chỉnh sửa và công cụ mà các nhà phát triển cốt lõi cảm thấy cần một số nhận xét đặc biệt để mã hóa bằng Python, hãy xem Tài nguyên bổ sung .

Cấu trúc thư mục#

Có một số thư mục cấp cao nhất trong cây nguồn CPython. Biết ý nghĩa của từng cái sẽ giúp bạn tìm thấy nơi một phần chức năng nhất định được triển khai. Tuy nhiên, hãy nhận ra rằng, luôn có những ngoại lệ đối với mọi quy tắc

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
423

Tài liệu chính thức. Đây là những gì https. // tài liệu. con trăn. tổ chức/sử dụng. Xem thêm Xây dựng tài liệu .

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
424

Chứa tệp ngữ pháp EBNF cho Python

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
425

Chứa tất cả các tệp tiêu đề trên toàn trình thông dịch

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
426

Một phần của thư viện chuẩn được triển khai bằng Python thuần túy

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
427

Mã dành riêng cho máy Mac [e. g. , sử dụng IDLE làm ứng dụng macOS]

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
428

Những thứ không thuộc về nơi khác. Thông thường, đây là các loại tài liệu dành riêng cho nhà phát triển khác nhau

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
429

Một phần của thư viện chuẩn [cộng với một số mã khác] được triển khai trong C

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
430

Mã cho tất cả các loại tích hợp

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
431

Mã dành riêng cho Windows

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
432

Tạo tệp cho phiên bản MSVC hiện được sử dụng cho trình cài đặt Windows được cung cấp trên python. tổ chức

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
433

Mã liên quan đến trình phân tích cú pháp. Định nghĩa của các nút AST cũng được lưu giữ tại đây

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
434

Mã nguồn cho các tệp thực thi C, bao gồm chức năng chính cho trình thông dịch CPython [trong các phiên bản trước Python 3. 5, các tệp này nằm trong thư mục Mô-đun]

$ git remote -v
origin  git@github.com:/cpython.git [fetch]
origin  git@github.com:/cpython.git [push]
upstream        //github.com/python/cpython [fetch]
upstream        git@github.com:/cpython.git [push]
$ git config branch.main.remote
upstream
14

Mã tạo nên thời gian chạy CPython cốt lõi. Điều này bao gồm trình biên dịch, vòng lặp eval và các mô-đun tích hợp khác nhau

Chủ Đề