CPython có phải là trình thông dịch không?

Bạn có thể chuyển nhiều tùy chọn cho tập lệnh cấu hình; . Trên các hệ thống tệp không phân biệt chữ hoa chữ thường của macOS và trên Cygwin, tệp thực thi được gọi là python.exe;

Việc xây dựng một bản cài đặt Python hoàn chỉnh yêu cầu sử dụng nhiều thư viện bổ sung của bên thứ ba, tùy thuộc vào nền tảng xây dựng của bạn và các tùy chọn cấu hình. Không phải tất cả các mô-đun thư viện tiêu chuẩn đều có thể xây dựng hoặc sử dụng được trên tất cả các nền tảng. Tham khảo phần của Hướng dẫn dành cho nhà phát triển để biết thông tin chi tiết hiện tại về các phụ thuộc cho các bản phân phối Linux và macOS khác nhau

Trên macOS, có các tùy chọn cấu hình và xây dựng bổ sung liên quan đến khung macOS và các bản dựng phổ quát. Tham khảo Mac/README. đầu tiên

Trên Windows, xem PCbuild/readme. txt

Nếu muốn, bạn có thể tạo một thư mục con và gọi cấu hình từ đó. Ví dụ

mkdir debug
cd debug
../configure --with-pydebug
make
make test

[Điều này sẽ thất bại nếu bạn cũng đã tạo ở thư mục cấp cao nhất. Trước tiên, bạn nên thực hiện make clean ở cấp cao nhất. ]

Để có bản dựng Python được tối ưu hóa, hãy configure --enable-optimizations trước khi bạn chạy make. Điều này đặt mục tiêu tạo mặc định để bật Tối ưu hóa theo hướng dẫn cấu hình [PGO] và có thể được sử dụng để tự động bật Tối ưu hóa thời gian liên kết [LTO] trên một số nền tảng. Để biết thêm chi tiết, xem các phần bên dưới

PGO tận dụng các phiên bản gần đây của trình biên dịch GCC hoặc Clang. Nếu được sử dụng, thông qua configure --enable-optimizations hoặc bằng cách chạy thủ công

mkdir debug
cd debug
../configure --with-pydebug
make
make test
1 bất kể cờ cấu hình, quy trình xây dựng được tối ưu hóa sẽ thực hiện các bước sau

Toàn bộ thư mục Python được làm sạch các tệp tạm thời có thể là kết quả của quá trình biên dịch trước đó

Một phiên bản cụ thể của trình thông dịch được xây dựng, sử dụng các cờ trình biên dịch phù hợp cho từng hương vị. Lưu ý đây chỉ là bước trung gian. Tệp nhị phân thu được từ bước này không phù hợp với khối lượng công việc thực tế vì nó có các hướng dẫn định hình được nhúng bên trong

Sau khi trình thông dịch có công cụ được tạo, Makefile sẽ chạy một khối lượng công việc đào tạo. Điều này là cần thiết để lập hồ sơ thực thi của trình thông dịch. Cũng lưu ý rằng mọi đầu ra, cả thiết bị xuất chuẩn và thiết bị xuất chuẩn, có thể xuất hiện ở bước này đều bị chặn

Bước cuối cùng là xây dựng trình thông dịch thực tế, sử dụng thông tin thu thập được từ công cụ. Kết quả cuối cùng sẽ là một tệp nhị phân Python được tối ưu hóa;

Được kích hoạt thông qua cờ

mkdir debug
cd debug
../configure --with-pydebug
make
make test
2 của cấu hình. LTO tận dụng khả năng của các chuỗi công cụ biên dịch gần đây để tối ưu hóa trên ranh giới tệp
mkdir debug
cd debug
../configure --with-pydebug
make
make test
3 tùy ý khi xây dựng các tệp thực thi cuối cùng hoặc thư viện dùng chung để tăng thêm hiệu suất

Chúng tôi có một cái nhìn tổng quan toàn diện về những thay đổi trong What's New in Python 3. 12 tài liệu. Để biết nhật ký thay đổi chi tiết hơn, hãy đọc Misc/NEWS, nhưng chỉ có thể thu thập đầy đủ các thay đổi từ lịch sử cam kết

Nếu bạn muốn cài đặt nhiều phiên bản Python, hãy xem phần bên dưới có tiêu đề "Cài đặt nhiều phiên bản"

Tài liệu cho Python 3. 12 là trực tuyến, cập nhật hàng ngày

Nó cũng có thể được tải xuống ở nhiều định dạng để truy cập nhanh hơn. Có thể tải xuống tài liệu này ở các định dạng HTML, PDF và reStructuredText;

Để biết thông tin về cách xây dựng tài liệu của Python, hãy tham khảo Doc/README. đầu tiên

Các thay đổi không tương thích ngược đáng kể đã được thực hiện cho việc phát hành Python 3. 0, điều này có thể khiến các chương trình được viết cho Python 2 bị lỗi khi chạy với Python 3. Để biết thêm thông tin về việc chuyển mã của bạn từ Python 2 sang Python 3, hãy xem HOWTO chuyển mã

Để kiểm tra trình thông dịch, hãy nhập

mkdir debug
cd debug
../configure --with-pydebug
make
make test
4 vào thư mục cấp cao nhất. Bộ kiểm tra tạo ra một số đầu ra. Nói chung, bạn có thể bỏ qua các thông báo về các bài kiểm tra bị bỏ qua do các tính năng tùy chọn không thể nhập được. Nếu một thông báo được in về một lần kiểm tra không thành công hoặc một kết xuất ngược hoặc kết xuất lõi được tạo ra, thì đã xảy ra lỗi

Theo mặc định, các bài kiểm tra bị ngăn sử dụng quá mức các tài nguyên như dung lượng ổ đĩa và bộ nhớ. Để kích hoạt các thử nghiệm này, hãy chạy

mkdir debug
cd debug
../configure --with-pydebug
make
make test
5

Nếu bất kỳ thử nghiệm nào không thành công, bạn có thể chạy lại [các] thử nghiệm không thành công ở chế độ chi tiết. Ví dụ: nếu

mkdir debug
cd debug
../configure --with-pydebug
make
make test
6 và
mkdir debug
cd debug
../configure --with-pydebug
make
make test
7 không thành công, bạn có thể chạy

________số 8_______

Nếu lỗi vẫn tiếp diễn và dường như là sự cố với Python chứ không phải do môi trường của bạn, thì bạn có thể gửi báo cáo lỗi và bao gồm đầu ra có liên quan từ lệnh đó để hiển thị sự cố

Xem Bài kiểm tra chạy và viết để biết thêm về các bài kiểm tra đang chạy

Trên các hệ thống Unix và Mac, nếu bạn có ý định cài đặt nhiều phiên bản Python bằng cách sử dụng cùng một tiền tố cài đặt [đối số ______0_______8 cho tập lệnh cấu hình], bạn phải cẩn thận rằng tệp thực thi python chính của bạn không bị ghi đè bởi cài đặt phiên bản khác. Tất cả các tệp và thư mục được cài đặt bằng

mkdir debug
cd debug
../configure --with-pydebug
make
make test
9 chứa phiên bản chính và phụ và do đó có thể tồn tại song song.
make test TESTOPTS="-v test_os test_gdb"
0 cũng tạo ra
make test TESTOPTS="-v test_os test_gdb"
1 đề cập đến
make test TESTOPTS="-v test_os test_gdb"
2. Nếu bạn định cài đặt nhiều phiên bản sử dụng cùng một tiền tố, bạn phải quyết định phiên bản nào [nếu có] là phiên bản "chính" của bạn. Cài đặt phiên bản đó bằng cách sử dụng
make test TESTOPTS="-v test_os test_gdb"
0. Cài đặt tất cả các phiên bản khác bằng cách sử dụng
mkdir debug
cd debug
../configure --with-pydebug
make
make test
9

Ví dụ: nếu bạn muốn cài đặt Python 2. 7, 3. 6 và 3. 12 với 3. 12 là phiên bản chính, bạn sẽ thực thi

make test TESTOPTS="-v test_os test_gdb"
0 trong 3. 12 thư mục bản dựng và
mkdir debug
cd debug
../configure --with-pydebug
make
make test
9 trong các thư mục khác

Báo cáo lỗi được hoan nghênh. Bạn có thể sử dụng Github để báo cáo lỗi và/hoặc gửi yêu cầu kéo

Bạn cũng có thể theo dõi cuộc thảo luận về phát triển trên danh sách gửi thư python-dev

Nếu bạn có đề xuất thay đổi Python, bạn có thể muốn gửi email đến comp. lang thang. danh sách gửi thư ý tưởng python hoặc python cho phản hồi ban đầu. Đề xuất cải tiến Python [PEP] có thể được gửi nếu ý tưởng của bạn đạt được thành công. Tất cả các PEP hiện tại, cũng như hướng dẫn gửi PEP mới, được liệt kê tại peps. con trăn. tổ chức

Xem PEP 693 cho Python 3. 12 chi tiết phát hành

Bản quyền © 2001-2023 Python Software Foundation. Đã đăng ký Bản quyền

Bản quyền © 2000 BeOpen. com. Đã đăng ký Bản quyền

Copyright © 1995-2001 Corporation for National Research Initiatives. Đã đăng ký Bản quyền

Bản quyền © 1991-1995 Stichting Mathematisch Centrum. Đã đăng ký Bản quyền

Xem GIẤY PHÉP để biết thông tin về lịch sử của phần mềm này, các điều khoản & điều kiện sử dụng và TUYÊN BỐ TỪ CHỐI TẤT CẢ CÁC BẢO ĐẢM

Bản phân phối Python này không chứa mã GNU General Public License [GPL], vì vậy nó có thể được sử dụng trong các dự án độc quyền. Có các giao diện cho một số mã GNU nhưng chúng hoàn toàn không bắt buộc

Cython có phải là thông dịch viên không?

Cython [đừng nhầm với CPython] là trình biên dịch mã nguồn giống Python sang ngôn ngữ C , từ đó nó được . Mục tiêu là tăng tốc đáng kể so với việc diễn giải mã Python trong CPython, trình thông dịch tiêu chuẩn.

Trình thông dịch cho Python là gì?

Trình thông dịch Python có tên là “ CPython ” và được viết bằng ngôn ngữ lập trình C. Đây là triển khai mặc định cho Python.

Cython được biên dịch hay giải thích?

Cython là ngôn ngữ được biên dịch thường được sử dụng để tạo các mô-đun mở rộng CPython.

Sự khác biệt giữa Python và CPython là gì?

CPython là một ngôn ngữ được biên dịch; . Trong khi đó, Python là một ngôn ngữ thông dịch . Do đó, sử dụng trình thông dịch của ngôn ngữ này để chuyển đổi mã Python thành mã máy.

Chủ Đề