Python 3.10 phiên bản 8

Chúng tôi khuyên bạn nên sử dụng phiên bản Python 3 mới nhất. Flask hỗ trợ Python 3. 5 trở lên, Python 2. 7 và PyPy

Phụ thuộc¶

Các bản phân phối này sẽ được cài đặt tự động khi cài đặt Flask

  • Werkzeug triển khai WSGI, giao diện Python tiêu chuẩn giữa các ứng dụng và máy chủ

  • Jinja là ngôn ngữ mẫu hiển thị các trang mà ứng dụng của bạn phục vụ

  • MarkupSafe đi kèm với Jinja. Nó thoát khỏi đầu vào không đáng tin cậy khi hiển thị các mẫu để tránh các cuộc tấn công tiêm chích

  • ItsDangerous ký dữ liệu một cách an toàn để đảm bảo tính toàn vẹn của dữ liệu. Điều này được sử dụng để bảo vệ cookie phiên của Flask

  • Click là một framework để viết các ứng dụng dòng lệnh. Nó cung cấp lệnh

    $ py -3 -m venv venv
    
    1 và cho phép thêm các lệnh quản lý tùy chỉnh

Phụ thuộc tùy chọn¶

Các bản phân phối này sẽ không được cài đặt tự động. Flask sẽ phát hiện và sử dụng chúng nếu bạn cài đặt chúng

  • Blinker cung cấp hỗ trợ cho Tín hiệu .

  • SimpleJSON là một triển khai JSON nhanh tương thích với mô-đun

    $ py -3 -m venv venv
    
    2 của Python. Nó được ưu tiên cho các hoạt động JSON nếu nó được cài đặt

  • python-dotenv bật hỗ trợ cho Biến môi trường từ dotenv khi chạy lệnh

    $ py -3 -m venv venv
    
    1.

  • Watchdog cung cấp trình tải lại nhanh hơn, hiệu quả hơn cho máy chủ phát triển

Môi trường ảo¶

Sử dụng môi trường ảo để quản lý các phụ thuộc cho dự án của bạn, cả trong quá trình phát triển và sản xuất

Môi trường ảo giải quyết vấn đề gì? . Các phiên bản thư viện mới hơn cho một dự án có thể phá vỡ khả năng tương thích trong một dự án khác

Môi trường ảo là các nhóm thư viện Python độc lập, một cho mỗi dự án. Các gói được cài đặt cho một dự án sẽ không ảnh hưởng đến các dự án khác hoặc các gói của hệ điều hành

Python 3 đi kèm với mô-đun

$ py -3 -m venv venv
4 để tạo môi trường ảo. Nếu bạn đang sử dụng phiên bản Python hiện đại, bạn có thể tiếp tục đến phần tiếp theo

Nếu bạn đang sử dụng Python 2, trước tiên hãy xem Cài đặt virtualenv .

Tạo môi trường¶

Tạo một thư mục dự án và một thư mục

$ py -3 -m venv venv
4 trong

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv

Trên Windows

$ py -3 -m venv venv

Nếu bạn cần cài đặt virtualenv vì bạn đang sử dụng Python 2, hãy sử dụng lệnh sau để thay thế

$ python2 -m virtualenv venv

Trên Windows

________số 8

Kích hoạt môi trường¶

Trước khi bạn làm việc với dự án của mình, hãy kích hoạt môi trường tương ứng

$ . venv/bin/activate

Trên Windows

$ py -3 -m venv venv
0

Dấu nhắc shell của bạn sẽ thay đổi để hiển thị tên của môi trường được kích hoạt

Cài đặt Flask¶

Trong môi trường đã kích hoạt, sử dụng lệnh sau để cài đặt Flask

$ py -3 -m venv venv
1

Flask hiện đã được cài đặt. Hãy xem Bắt đầu nhanh hoặc truy cập Tổng quan về tài liệu .

Sống trên các cạnh¶

Nếu bạn muốn làm việc với mã Flask mới nhất trước khi nó được phát hành, hãy cài đặt hoặc cập nhật mã từ nhánh chính

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
$ py -3 -m venv venv
25#

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à

$ py -3 -m venv venv
25; . 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

    $ py -3 -m venv venv
    
    70

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

    $ py -3 -m venv venv
    
    71 bằng tên người dùng của bạn]

    $ py -3 -m venv venv
    
    9

    [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

    $ py -3 -m venv venv
    
    72, sau đó định cấu hình
    $ py -3 -m venv venv
    
    25 để kéo
    $ py -3 -m venv venv
    
    74 từ
    $ py -3 -m venv venv
    
    72 và luôn đẩy sang
    $ py -3 -m venv venv
    
    76

    $ py -3 -m venv venv
    
    5

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

    $ py -3 -m venv venv
    
    2

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

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

$ py -3 -m venv venv
77 và hai điều khiển từ xa đề cập đến ngã ba GitHub của riêng bạn [
$ py -3 -m venv venv
76] và kho lưu trữ CPython chính thức [
$ py -3 -m venv venv
72]

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

$ py -3 -m venv venv
00.

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

$ py -3 -m venv venv
01, nhưng cờ quan trọng nhất là cờ
$ py -3 -m venv venv
02 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 tiêu đề phát triển cho các thư viện bổ sung [chẳng hạn như thư viện

$ py -3 -m venv venv
03 để 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à

$ py -3 -m venv venv
7

Có nhiều cờ hơn cho

$ py -3 -m venv venv
04, 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

$ py -3 -m venv venv
05 trước hoặc sau khi chạy lại
$ py -3 -m venv venv
04 trong một thư mục bản dựng cụ thể

Sau khi hoàn tất

$ py -3 -m venv venv
04, bạn có thể biên dịch CPython với

$ py -3 -m venv venv
0

Đ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ờ

$ py -3 -m venv venv
08 để 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

$ py -3 -m venv venv
2

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ụ thuộc , bạn sẽ cần chạy lại cả

$ py -3 -m venv venv
04 và
$ py -3 -m venv venv
21.

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 OS X theo mặc định], để tránh xung đột với thư mục

$ py -3 -m venv venv
24. 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
$ py -3 -m venv venv
25 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ờ
$ py -3 -m venv venv
26 thành
$ py -3 -m venv venv
04;

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à

$ py -3 -m venv venv
28. Bạn có thể đặt biến môi trường
$ py -3 -m venv venv
29 của mình thành các cờ này khi chạy
$ py -3 -m venv venv
04

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

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
41 bằng cờ
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
42. 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ờ

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
43 để xây dựng mô-đun
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
44 [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

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
45 . 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 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

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
4

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

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
46 để xây dựng trong cấu hình
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
47, 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
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
48 và cho nền tảng 64-bit
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
49 thay vì 32-bit
$ py -3 -m venv venv
40;

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

$ py -3 -m venv venv
43 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

$ py -3 -m venv venv
44 đượ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ể mã hóa 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

$ py -3 -m venv venv
45 và
$ py -3 -m venv venv
46, 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

$ py -3 -m venv venv
4

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.

$ py -3 -m venv venv
03] trên LinuxmacOs/OS X . 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

$ py -3 -m venv venv
48 khác

$ python2 -m virtualenv venv
4

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

$ py -3 -m venv venv
49 khác

$ python2 -m virtualenv venv
6

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

$ python2 -m virtualenv venv
40 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
$ python2 -m virtualenv venv
40

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

$ python2 -m virtualenv venv
42. Dùng Ubuntu 22. 04 LTS [Jammy Jellyfish] chẳng hạn

$ py -3 -m venv venv
50

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

$ python2 -m virtualenv venv
43 bằng trình chỉnh sửa, e. g

$ py -3 -m venv venv
51

Đố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

$ py -3 -m venv venv
52

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

$ python2 -m virtualenv venv
40

$ py -3 -m venv venv
53

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

$ py -3 -m venv venv
54

macOS và OS X#

Đối với hệ thống macOS [phiên bản 10. 12+] và OS X 10. 9 trở lên, 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

$ py -3 -m venv venv
55

Đ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

$ python2 -m virtualenv venv
45

Trên hệ thống Mac OS X [phiên bản 10. 0 - 10. 7] và hệ điều hành X10. 8, sử dụng trình biên dịch C và các tiện ích phát triển khác do Công cụ dành cho nhà phát triển Xcode của Apple cung cấp. Công cụ dành cho nhà phát triển không được cung cấp cùng với Mac OS X

Đối với những bản phát hành cũ hơn [phiên bản 10. 0 - 10. 8], bạn sẽ cần tải xuống phiên bản chính xác của Công cụ dòng lệnh, nếu có hoặc cài đặt chúng từ gói hoặc ứng dụng Xcode đầy đủ cho bản phát hành OS X đó. Các phiên bản cũ hơn có thể có sẵn dưới dạng tải xuống miễn phí thông qua App Store của Apple hoặc từ trang web Nhà phát triển của Apple

Cũng lưu ý rằng OS X 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ả

$ python2 -m virtualenv venv
46, do đó, 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ể xây dựng tiện ích mở rộng
$ python2 -m virtualenv venv
47. 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
$ py -3 -m venv venv
04 của bạn. Ví dụ,

với Homebrew

$ py -3 -m venv venv
56

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

$ py -3 -m venv venv
57

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

$ py -3 -m venv venv
58

$ py -3 -m venv venv
21

$ py -3 -m venv venv
0

hoặc MacPorts

$ py -3 -m venv venv
20

$ py -3 -m venv venv
04

$ py -3 -m venv venv
21

$ py -3 -m venv venv
21

$ py -3 -m venv venv
0

Đô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ó 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ạo lại
$ py -3 -m venv venv
04#

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

$ py -3 -m venv venv
04 để kiểm tra tính khả dụng của chức năng

Tập lệnh

$ py -3 -m venv venv
04 của Python được tạo từ
$ python2 -m virtualenv venv
65 bằng Autoconf. Thay vì chỉnh sửa
$ py -3 -m venv venv
04, hãy chỉnh sửa
$ python2 -m virtualenv venv
65 rồi chạy
$ python2 -m virtualenv venv
68 để tạo lại
$ py -3 -m venv venv
04 và một số tệp khác [chẳng hạn như
$ py -3 -m venv venv
500]

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

$ python2 -m virtualenv venv
65, bạn cũng nên gửi kèm các tệp đã tạo

Lưu ý rằng chạy

$ python2 -m virtualenv venv
68 không giống như chạy
$ py -3 -m venv venv
503. Ví dụ: bản thân
$ py -3 -m venv venv
503 sẽ không tạo lại
$ py -3 -m venv venv
505.
$ python2 -m virtualenv venv
68 chạy
$ py -3 -m venv venv
503 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

$ python2 -m virtualenv venv
65 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.
$ py -3 -m venv venv
509. Nó cũng yêu cầu phải cài đặt các tiện ích
$ py -3 -m venv venv
510 và
$ py -3 -m venv venv
511 trong hệ thống và tệp macro
$ py -3 -m venv venv
512 nằm ở vị trí
$ py -3 -m venv venv
513 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

$ py -3 -m venv venv
23

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

$ py -3 -m venv venv
74] có một tệp đặc biệt nằm trong
$ py -3 -m venv venv
515 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à
$ py -3 -m venv venv
516. 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

Việc 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

$ py -3 -m venv venv
517 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ột 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

$ py -3 -m venv venv
24

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

$ py -3 -m venv venv
518 đượ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
$ py -3 -m venv venv
519 để 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ư

$ py -3 -m venv venv
520 hoặc
$ py -3 -m venv venv
521 khi chạy
$ py -3 -m venv venv
21. 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

$ py -3 -m venv venv
523

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 .

$ py -3 -m venv venv
524

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

$ py -3 -m venv venv
525

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

$ py -3 -m venv venv
526

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

$ py -3 -m venv venv
527

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

$ py -3 -m venv venv
528

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

$ py -3 -m venv venv
529

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

$ py -3 -m venv venv
530

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

$ py -3 -m venv venv
531

Mã dành riêng cho Windows

$ py -3 -m venv venv
532

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

$ py -3 -m venv venv
533

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

$ py -3 -m venv venv
534

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]

$ py -3 -m venv venv
24

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ủ Đề