Tài liệu này nhằm mục đích cung cấp tổng quan về hành vi dành riêng cho Windows mà bạn nên biết khi sử dụng Python trên Microsoft Windows
Không giống như hầu hết các hệ thống và dịch vụ Unix, Windows không bao gồm cài đặt Python được hệ thống hỗ trợ. Để cung cấp Python, nhóm CPython đã biên soạn các trình cài đặt Windows [gói MSI] với mỗi bản phát hành trong nhiều năm. Các trình cài đặt này chủ yếu nhằm mục đích thêm cài đặt Python cho mỗi người dùng, với trình thông dịch lõi và thư viện được sử dụng bởi một người dùng. Trình cài đặt cũng có thể cài đặt cho tất cả người dùng của một máy và một tệp ZIP riêng có sẵn cho các bản phân phối ứng dụng cục bộ
Như được chỉ định trong PEP 11, bản phát hành Python chỉ hỗ trợ nền tảng Windows trong khi Microsoft xem xét nền tảng này dưới sự hỗ trợ mở rộng. Điều này có nghĩa là Python 3. 11 hỗ trợ Windows 8. 1 và mới hơn. Nếu bạn yêu cầu hỗ trợ Windows 7, vui lòng cài đặt Python 3. 8
Có một số trình cài đặt khác nhau có sẵn cho Windows, mỗi trình cài đặt đều có những lợi ích và nhược điểm nhất định
Trình cài đặt đầy đủ chứa tất cả các thành phần và là tùy chọn tốt nhất cho các nhà phát triển sử dụng Python cho bất kỳ loại dự án nào.
Gói Microsoft Store là một bản cài đặt Python đơn giản phù hợp để chạy các tập lệnh và gói cũng như sử dụng IDLE hoặc các môi trường phát triển khác. Nó yêu cầu Windows 10 trở lên, nhưng có thể cài đặt an toàn mà không làm hỏng các chương trình khác. Nó cũng cung cấp nhiều lệnh thuận tiện để khởi chạy Python và các công cụ của nó.
Nget. org là các bản cài đặt nhẹ dành cho các hệ thống tích hợp liên tục. Nó có thể được sử dụng để xây dựng các gói Python hoặc chạy tập lệnh, nhưng không thể cập nhật và không có công cụ giao diện người dùng.
Gói có thể nhúng là gói Python tối thiểu phù hợp để nhúng vào ứng dụng lớn hơn.
4. 1. Trình cài đặt đầy đủ¶
4. 1. 1. Các bước cài đặt¶
Bốn con trăn 3. 11 trình cài đặt có sẵn để tải xuống - hai trình cài đặt cho phiên bản 32-bit và 64-bit của trình thông dịch. Trình cài đặt web là một bản tải xuống ban đầu nhỏ và nó sẽ tự động tải xuống các thành phần cần thiết khi cần thiết. Trình cài đặt ngoại tuyến bao gồm các thành phần cần thiết cho cài đặt mặc định và chỉ yêu cầu kết nối internet cho các tính năng tùy chọn. Xem Cài đặt mà không cần tải xuống để biết các cách khác để tránh tải xuống trong khi cài đặt.
Sau khi khởi động trình cài đặt, có thể chọn một trong hai tùy chọn
Nếu bạn chọn “Cài đặt ngay”
Bạn không cần phải là quản trị viên [trừ khi cần có bản cập nhật hệ thống cho Thư viện thời gian chạy C hoặc bạn cài đặt Trình khởi chạy Python cho Windows for all users]
Python sẽ được cài đặt vào thư mục người dùng của bạn
The Python Launcher dành cho Windows sẽ được cài đặt theo tùy chọn ở cuối trang đầu tiên
Thư viện chuẩn, bộ thử nghiệm, trình khởi chạy và pip sẽ được cài đặt
Nếu được chọn, thư mục cài đặt sẽ được thêm vào
Just for me, no test suite
1 của bạnCác phím tắt sẽ chỉ hiển thị cho người dùng hiện tại
Chọn “Tùy chỉnh cài đặt” sẽ cho phép bạn chọn các tính năng cần cài đặt, vị trí cài đặt và các tùy chọn khác hoặc hành động sau khi cài đặt. Để cài đặt các biểu tượng hoặc mã nhị phân gỡ lỗi, bạn sẽ cần sử dụng tùy chọn này
Để thực hiện cài đặt cho tất cả người dùng, bạn nên chọn “Tùy chỉnh cài đặt”. Trong trường hợp này
Bạn có thể được yêu cầu cung cấp thông tin xác thực hoặc phê duyệt quản trị
Python sẽ được cài đặt vào thư mục Program Files
The Python Launcher cho Windows sẽ được cài đặt vào thư mục Windows
Các tính năng tùy chọn có thể được chọn trong quá trình cài đặt
Thư viện tiêu chuẩn có thể được biên dịch trước thành mã byte
Nếu được chọn, thư mục cài đặt sẽ được thêm vào hệ thống
Just for me, no test suite
1Phím tắt có sẵn cho tất cả người dùng
4. 1. 2. Xóa giới hạn MAX_PATH¶
Windows trước đây có độ dài đường dẫn giới hạn ở 260 ký tự. Điều này có nghĩa là các đường dẫn dài hơn đường dẫn này sẽ không giải quyết được và sẽ xảy ra lỗi
Trong các phiên bản Windows mới nhất, giới hạn này có thể được mở rộng thành khoảng 32.000 ký tự. Quản trị viên của bạn sẽ cần kích hoạt chính sách nhóm “Bật đường dẫn dài Win32” hoặc đặt
Just for me, no test suite3 thành
Just for me, no test suite4 trong khoá đăng ký
Just for me, no test suite5
Điều này cho phép hàm
Just for me, no test suite6, mô-đun
Just for me, no test suite7 và hầu hết chức năng đường dẫn khác chấp nhận và trả về đường dẫn dài hơn 260 ký tự
Sau khi thay đổi tùy chọn trên, không cần cấu hình thêm
Đã thay đổi trong phiên bản 3. 6. Hỗ trợ đường dẫn dài đã được kích hoạt trong Python.
4. 1. 3. Cài đặt không có giao diện người dùng¶
Tất cả các tùy chọn có sẵn trong giao diện người dùng của trình cài đặt cũng có thể được chỉ định từ dòng lệnh, cho phép trình cài đặt theo tập lệnh sao chép cài đặt trên nhiều máy mà không cần sự tương tác của người dùng. Các tùy chọn này cũng có thể được đặt mà không chặn giao diện người dùng để thay đổi một số giá trị mặc định
Để ẩn hoàn toàn giao diện người dùng trình cài đặt và cài đặt Python một cách âm thầm, hãy chuyển tùy chọn
Just for me, no test suite8. Để bỏ qua phần tương tác của người dùng nhưng vẫn hiển thị tiến trình và lỗi, hãy chuyển tùy chọn
Just for me, no test suite9. Tùy chọn
python-3.9.0.exe /layout [optional target directory]0 có thể được chuyển để bắt đầu xóa Python ngay lập tức - sẽ không có lời nhắc xác nhận nào được hiển thị
Tất cả các tùy chọn khác được chuyển thành
python-3.9.0.exe /layout [optional target directory]1, trong đó giá trị thường là
python-3.9.0.exe /layout [optional target directory]2 để tắt tính năng,
Just for me, no test suite4 để bật tính năng hoặc đường dẫn. Danh sách đầy đủ các tùy chọn có sẵn được hiển thị bên dưới
Tên
Sự mô tả
Mặc định
Cài đặtTất cả người dùng
Tiến hành cài đặt toàn hệ thống
0
Mục tiêuDir
Thư mục cài đặt
Được chọn dựa trên InstallAllUsers
Mặc địnhTất cả người dùngTargetDir
Thư mục cài đặt mặc định cho cài đặt của tất cả người dùng
python-3.9.0.exe /layout [optional target directory]4 hoặc
python-3.9.0.exe /layout [optional target directory]5
Mặc địnhJustForMeTargetDir
Thư mục cài đặt mặc định cho cài đặt chỉ dành cho tôi
python-3.9.0.exe /layout [optional target directory]6 hoặc
python-3.9.0.exe /layout [optional target directory]7 hoặc
python-3.9.0.exe /layout [optional target directory]8
Mặc địnhCustomTargetDir
Thư mục cài đặt tùy chỉnh mặc định được hiển thị trong giao diện người dùng
[trống rỗng]
Tập tin liên kết
Tạo liên kết tệp nếu trình khởi chạy cũng được cài đặt
1
biên dịch tất cả
Biên dịch tất cả các tệp
python-3.9.0.exe /layout [optional target directory]9 thành
Just for me, no test suite90
0
PrependPath
Chuẩn bị các thư mục cài đặt và Scripts vào
Just for me, no test suite1 và thêm
Just for me, no test suite92 vào
Just for me, no test suite93
0
nối đường dẫn
Nối các thư mục cài đặt và Scripts vào
Just for me, no test suite1 và thêm
Just for me, no test suite92 vào
Just for me, no test suite93
0
phím tắt
Tạo lối tắt cho trình thông dịch, tài liệu và IDLE nếu được cài đặt
1
Bao gồm_doc
Hướng dẫn cài đặt Python
1
Bao gồm_debug
Cài đặt các tệp nhị phân gỡ lỗi
0
Bao gồm_dev
Cài đặt các tiêu đề và thư viện dành cho nhà phát triển. Bỏ qua điều này có thể dẫn đến cài đặt không sử dụng được
1
Bao gồm_exe
Cài đặt
Just for me, no test suite97 và các tệp liên quan. Bỏ qua điều này có thể dẫn đến cài đặt không sử dụng được
1
Bao gồm_launcher
Cài đặt Trình khởi chạy Python cho Windows .
1
InstallLauncherTất cả người dùng
Cài đặt launcher cho tất cả người dùng. Cũng yêu cầu đặt
Just for me, no test suite98 thành 1
1
Bao gồm_lib
Cài đặt thư viện chuẩn và các module mở rộng. Bỏ qua điều này có thể dẫn đến cài đặt không sử dụng được
1
Bao gồm_pip
Cài đặt gói pip và setuptools
1
Bao gồm_biểu tượng
Cài đặt các biểu tượng gỡ lỗi [______199]
0
Bao gồm_tcltk
Cài đặt hỗ trợ Tcl/Tk và IDLE
1
Bao gồm_test
Cài đặt bộ thư viện kiểm thử chuẩn
1
Bao gồm_công cụ
Cài đặt tập lệnh tiện ích
1
LauncherOnly
Chỉ cài đặt trình khởi chạy. Điều này sẽ ghi đè lên hầu hết các tùy chọn khác
0
Cài đặt đơn giản
Vô hiệu hóa hầu hết giao diện người dùng cài đặt
0
Cài đặt đơn giảnMô tả
Một thông báo tùy chỉnh để hiển thị khi sử dụng giao diện người dùng cài đặt đơn giản hóa
[trống rỗng]
Ví dụ: để âm thầm cài đặt bản cài đặt Python mặc định, toàn hệ thống, bạn có thể sử dụng lệnh sau [từ dấu nhắc lệnh nâng cao]
Just for me, no test suite9
Để cho phép người dùng dễ dàng cài đặt bản sao Python cá nhân mà không cần bộ thử nghiệm, bạn có thể cung cấp lối tắt bằng lệnh sau. Thao tác này sẽ hiển thị trang ban đầu được đơn giản hóa và không cho phép tùy chỉnh
Just for me, no test suite0
[Lưu ý rằng việc bỏ qua trình khởi chạy cũng sẽ bỏ qua các liên kết tệp và chỉ được khuyến nghị cho các lượt cài đặt của mỗi người dùng khi cũng có một bản cài đặt trên toàn hệ thống bao gồm trình khởi chạy. ]
Các tùy chọn được liệt kê ở trên cũng có thể được cung cấp trong tệp có tên
Just for me, no test suite10 cùng với tệp thực thi. Tệp này chỉ định danh sách các tùy chọn và giá trị. Khi một giá trị được cung cấp dưới dạng thuộc tính, giá trị đó sẽ được chuyển thành số nếu có thể. Các giá trị được cung cấp dưới dạng văn bản thành phần luôn được để lại dưới dạng chuỗi. Tệp ví dụ này đặt các tùy chọn giống như ví dụ trước
Just for me, no test suite
4. 1. 4. Cài đặt mà không cần tải xuống¶
Vì một số tính năng của Python không được bao gồm trong bản tải xuống trình cài đặt ban đầu, nên việc chọn các tính năng đó có thể yêu cầu kết nối internet. Để tránh nhu cầu này, tất cả các thành phần có thể có thể được tải xuống theo yêu cầu để tạo bố cục hoàn chỉnh không còn yêu cầu kết nối internet bất kể các tính năng đã chọn. Lưu ý rằng bản tải xuống này có thể lớn hơn yêu cầu, nhưng khi một số lượng lớn cài đặt sẽ được thực hiện, sẽ rất hữu ích nếu có một bản sao được lưu trong bộ nhớ cache cục bộ
Thực hiện lệnh sau từ Command Prompt để tải xuống tất cả các tệp cần thiết có thể. Hãy nhớ thay thế
Just for me, no test suite11 cho tên thực của trình cài đặt của bạn và tạo bố cục trong thư mục riêng của chúng để tránh xung đột giữa các tệp có cùng tên
python-3.9.0.exe /layout [optional target directory]
Bạn cũng có thể chỉ định tùy chọn
Just for me, no test suite8 để ẩn hiển thị tiến độ
4. 1. 5. Sửa đổi cài đặt¶
Khi Python đã được cài đặt, bạn có thể thêm hoặc xóa các tính năng thông qua công cụ Chương trình và Tính năng là một phần của Windows. Chọn mục Python và chọn “Gỡ cài đặt/Thay đổi” để mở trình cài đặt ở chế độ bảo trì
“Sửa đổi” cho phép bạn thêm hoặc xóa các tính năng bằng cách sửa đổi các hộp kiểm - các hộp kiểm không thay đổi sẽ không cài đặt hoặc xóa bất kỳ thứ gì. Một số tùy chọn không thể thay đổi trong chế độ này, chẳng hạn như thư mục cài đặt;
“Sửa chữa” sẽ xác minh tất cả các tệp sẽ được cài đặt bằng cài đặt hiện tại và thay thế bất kỳ tệp nào đã bị xóa hoặc sửa đổi
“Gỡ cài đặt” sẽ xóa Python hoàn toàn, ngoại trừ Trình khởi chạy Python dành cho Windows , có mục riêng trong Chương trình và Tính năng.
4. 2. Gói Microsoft Store¶
Mới trong phiên bản 3. 7. 2
Gói Microsoft Store là một trình thông dịch Python có thể cài đặt dễ dàng, chủ yếu dành cho mục đích sử dụng tương tác, chẳng hạn như dành cho sinh viên
Để cài đặt gói này, hãy đảm bảo bạn có bản cập nhật Windows 10 mới nhất và tìm kiếm ứng dụng Microsoft Store cho “Python 3. 11”. Đảm bảo rằng ứng dụng bạn chọn được xuất bản bởi Python Software Foundation và cài đặt ứng dụng đó
Cảnh báo
Python sẽ luôn có sẵn miễn phí trên Microsoft Store. Nếu bạn bị yêu cầu trả tiền, bạn chưa chọn đúng gói
Sau khi cài đặt, Python có thể được khởi chạy bằng cách tìm nó trong Start. Ngoài ra, nó sẽ có sẵn từ bất kỳ phiên Command Prompt hoặc PowerShell nào bằng cách nhập
Just for me, no test suite13. Hơn nữa, pip và IDLE có thể được sử dụng bằng cách gõ
Just for me, no test suite14 hoặc
Just for me, no test suite15. IDLE cũng có thể được tìm thấy trong Bắt đầu
Cả ba lệnh này cũng có sẵn với các hậu tố số phiên bản, chẳng hạn như
Just for me, no test suite16 và
Just for me, no test suite17 cũng như
Just for me, no test suite97 [trong đó
Just for me, no test suite19 là phiên bản cụ thể mà bạn muốn khởi chạy, chẳng hạn như 3. 11]. Mở “Quản lý bí danh thực thi ứng dụng” thông qua Bắt đầu để chọn phiên bản Python nào được liên kết với từng lệnh. Bạn nên đảm bảo rằng
Just for me, no test suite14 và
Just for me, no test suite15 phù hợp với bất kỳ phiên bản nào của
Just for me, no test suite13 được chọn
Môi trường ảo có thể được tạo bằng
Just for me, no test suite63 và được kích hoạt và sử dụng như bình thường
Nếu bạn đã cài đặt một phiên bản Python khác và thêm nó vào biến
Just for me, no test suite1 của mình, thì phiên bản đó sẽ có sẵn dưới dạng
Just for me, no test suite97 thay vì phiên bản từ Microsoft Store. Để truy cập cài đặt mới, hãy sử dụng
Just for me, no test suite16 hoặc
Just for me, no test suite17
Trình khởi chạy
Just for me, no test suite68 sẽ phát hiện cài đặt Python này, nhưng sẽ ưu tiên cài đặt từ trình cài đặt truyền thống
Để xóa Python, hãy mở Cài đặt và sử dụng Ứng dụng và Tính năng, hoặc tìm Python trong Bắt đầu và nhấp chuột phải để chọn Gỡ cài đặt. Gỡ cài đặt sẽ xóa tất cả các gói bạn đã cài đặt trực tiếp vào bản cài đặt Python này, nhưng sẽ không xóa bất kỳ môi trường ảo nào
4. 2. 1. Các vấn đề đã biết¶
4. 2. 1. 1. Chuyển hướng dữ liệu cục bộ, sổ đăng ký và đường dẫn tạm thời¶
Do các hạn chế đối với ứng dụng Microsoft Store, tập lệnh Python có thể không có quyền truy cập ghi đầy đủ vào các vị trí được chia sẻ, chẳng hạn như
Just for me, no test suite69 và sổ đăng ký. Thay vào đó, nó sẽ ghi vào một bản sao riêng tư. Nếu tập lệnh của bạn phải sửa đổi các vị trí được chia sẻ, bạn sẽ cần cài đặt bộ cài đặt đầy đủ
Khi chạy, Python sẽ sử dụng một bản sao riêng của các thư mục Windows nổi tiếng và sổ đăng ký. Ví dụ biến môi trường
Just for me, no test suite30 là
Just for me, no test suite31 thì khi ghi vào
Just for me, no test suite32 sẽ ghi thành
Just for me, no test suite33
Khi đọc tệp, Windows sẽ trả về tệp từ thư mục riêng hoặc nếu không tồn tại, thư mục Windows thực. Ví dụ: đọc
Just for me, no test suite34 trả về nội dung của
Just for me, no test suite34 cộng với nội dung của
Just for me, no test suite36
Bạn có thể tìm thấy đường dẫn thực của bất kỳ tệp hiện có nào bằng cách sử dụng
Just for me, no test suite37
Just for me, no test suite9
Khi ghi vào Windows Registry, các hành vi sau tồn tại
Cho phép đọc từ
Just for me, no test suite
38 và kết quả được hợp nhất với tệpJust for me, no test suite
39 trong góiKhông được phép ghi vào
Just for me, no test suite
38 nếu khóa/giá trị tương ứng tồn tại, i. e. sửa đổi các khóa hiện cóCho phép ghi vào
Just for me, no test suite
38 miễn là khóa/giá trị tương ứng không tồn tại trong gói và người dùng có quyền truy cập chính xác
Để biết thêm chi tiết về cơ sở kỹ thuật cho những hạn chế này, vui lòng tham khảo tài liệu của Microsoft về các ứng dụng đáng tin cậy được đóng gói, hiện có tại tài liệu. Microsoft. com/en-us/windows/msix/desktop/desktop-to-uwp-behind-the-scenes
4. 3. Nget. gói tổ chức¶
Mới trong phiên bản 3. 5. 2
nuget. gói org là một môi trường Python có kích thước nhỏ hơn nhằm mục đích sử dụng cho các hệ thống xây dựng và tích hợp liên tục không có bản cài đặt Python trên toàn hệ thống. Trong khi nuget là “trình quản lý gói cho. NET”, nó cũng hoạt động hoàn toàn tốt đối với các gói chứa các công cụ thời gian xây dựng
thăm nuget. org để biết thông tin cập nhật nhất về cách sử dụng nuget. Phần sau đây là một bản tóm tắt đủ cho các nhà phát triển Python
Công cụ dòng lệnh
Just for me, no test suite62 có thể được tải xuống trực tiếp từ
Just for me, no test suite63, chẳng hạn như sử dụng curl hoặc PowerShell. Với công cụ này, phiên bản Python mới nhất dành cho máy 64 bit hoặc 32 bit được cài đặt bằng cách sử dụng
Just for me, no test suite1
Để chọn một phiên bản cụ thể, hãy thêm một
Just for me, no test suite64. Thư mục đầu ra có thể được thay đổi từ
Just for me, no test suite65 và gói sẽ được cài đặt vào thư mục con. Theo mặc định, thư mục con được đặt tên giống như gói và không có tùy chọn
Just for me, no test suite66, tên này sẽ bao gồm phiên bản cụ thể được cài đặt. Bên trong thư mục con là thư mục
Just for me, no test suite67 chứa bản cài đặt Python
Just for me, no test suite6
Nói chung, các gói nuget không thể nâng cấp được và các phiên bản mới hơn nên được cài đặt song song và được tham chiếu bằng đường dẫn đầy đủ. Ngoài ra, hãy xóa thủ công thư mục gói và cài đặt lại. Nhiều hệ thống CI sẽ tự động thực hiện việc này nếu chúng không bảo toàn các tệp giữa các bản dựng
Bên cạnh thư mục
Just for me, no test suite67 là thư mục
Just for me, no test suite69. Tệp này chứa tệp thuộc tính MSBuild
Just for me, no test suite60 có thể được sử dụng trong dự án C++ để tham chiếu cài đặt Python. Bao gồm các cài đặt sẽ tự động sử dụng tiêu đề và nhập thư viện trong bản dựng của bạn
Các trang thông tin gói trên nuget. tổ chức là www. nuget. org/packages/python cho phiên bản 64-bit và www. nuget. org/packages/pythonx86 cho phiên bản 32-bit
4. 4. Gói có thể nhúng¶
Mới trong phiên bản 3. 5
Bản phân phối được nhúng là một tệp ZIP chứa môi trường Python tối thiểu. Nó được thiết kế để hoạt động như một phần của ứng dụng khác, thay vì được người dùng cuối truy cập trực tiếp
Khi được trích xuất, bản phân phối nhúng [gần như] bị cô lập hoàn toàn khỏi hệ thống của người dùng, bao gồm các biến môi trường, cài đặt sổ đăng ký hệ thống và các gói đã cài đặt. Thư viện tiêu chuẩn được bao gồm dưới dạng các tệp
Just for me, no test suite90 được biên dịch trước và tối ưu hóa trong một ZIP, và tất cả các tệp
Just for me, no test suite62,
Just for me, no test suite63,
Just for me, no test suite97 và
Just for me, no test suite65 đều được cung cấp. Không bao gồm Tcl/tk [bao gồm tất cả các thành phần phụ thuộc, chẳng hạn như Idle], pip và tài liệu Python
Ghi chú
Bản phân phối được nhúng không bao gồm Microsoft C Runtime và trình cài đặt ứng dụng có trách nhiệm cung cấp điều này. Thời gian chạy có thể đã được cài đặt trên hệ thống của người dùng trước đó hoặc tự động thông qua Windows Update và có thể được phát hiện bằng cách tìm
Just for me, no test suite66 trong thư mục hệ thống
Các gói của bên thứ ba phải được cài đặt bởi trình cài đặt ứng dụng cùng với bản phân phối được nhúng. Việc sử dụng pip để quản lý các phụ thuộc như đối với bản cài đặt Python thông thường không được hỗ trợ với bản phân phối này, mặc dù nếu cẩn thận, có thể bao gồm và sử dụng pip để cập nhật tự động. Nói chung, các gói của bên thứ ba phải được coi là một phần của ứng dụng [“nhà cung cấp”] để nhà phát triển có thể đảm bảo khả năng tương thích với các phiên bản mới hơn trước khi cung cấp các bản cập nhật cho người dùng
Hai trường hợp sử dụng được đề xuất cho bản phân phối này được mô tả bên dưới
4. 4. 1. Ứng dụng Python¶
Một ứng dụng viết bằng Python không nhất thiết yêu cầu người dùng phải nhận thức được thực tế đó. Bản phân phối nhúng có thể được sử dụng trong trường hợp này để bao gồm phiên bản riêng của Python trong gói cài đặt. Tùy thuộc vào mức độ minh bạch của nó [hoặc ngược lại, mức độ chuyên nghiệp của nó], có hai tùy chọn
Sử dụng một tệp thực thi chuyên dụng làm trình khởi chạy yêu cầu một số mã hóa, nhưng cung cấp trải nghiệm minh bạch nhất cho người dùng. Với trình khởi chạy tùy chỉnh, không có dấu hiệu rõ ràng nào cho thấy chương trình đang chạy trên Python. các biểu tượng có thể được tùy chỉnh, thông tin về công ty và phiên bản có thể được chỉ định và các liên kết tệp hoạt động bình thường. Trong hầu hết các trường hợp, trình khởi chạy tùy chỉnh chỉ có thể gọi
Just for me, no test suite67 bằng dòng lệnh được mã hóa cứng
Cách tiếp cận đơn giản hơn là cung cấp tệp lô hoặc lối tắt được tạo gọi trực tiếp
Just for me, no test suite97 hoặc
Just for me, no test suite65 với các đối số dòng lệnh bắt buộc. Trong trường hợp này, ứng dụng sẽ có vẻ là Python chứ không phải tên thật của nó và người dùng có thể gặp khó khăn khi phân biệt nó với các quy trình Python đang chạy khác hoặc liên kết tệp
Với cách tiếp cận thứ hai, các gói phải được cài đặt dưới dạng thư mục cùng với tệp thực thi Python để đảm bảo chúng có sẵn trên đường dẫn. Với trình khởi chạy chuyên dụng, các gói có thể được đặt ở các vị trí khác vì có cơ hội chỉ định đường dẫn tìm kiếm trước khi khởi chạy ứng dụng
4. 4. 2. Nhúng Python¶
Các ứng dụng được viết bằng mã gốc thường yêu cầu một số dạng ngôn ngữ kịch bản và bản phân phối Python nhúng có thể được sử dụng cho mục đích này. Nói chung, phần lớn ứng dụng ở dạng mã gốc và một số phần sẽ gọi
Just for me, no test suite97 hoặc sử dụng trực tiếp
Just for me, no test suite62. Đối với cả hai trường hợp, việc trích xuất bản phân phối được nhúng vào thư mục con của bản cài đặt ứng dụng là đủ để cung cấp trình thông dịch Python có thể tải được
Đối với việc sử dụng ứng dụng, các gói có thể được cài đặt vào bất kỳ vị trí nào vì có cơ hội chỉ định đường dẫn tìm kiếm trước khi khởi tạo trình thông dịch. Mặt khác, không có sự khác biệt cơ bản nào giữa việc sử dụng bản phân phối được nhúng và bản cài đặt thông thường
4. 5. Gói thay thế¶
Ngoài bản phân phối CPython tiêu chuẩn, còn có các gói được sửa đổi bao gồm chức năng bổ sung. Sau đây là danh sách các phiên bản phổ biến và các tính năng chính của chúng
ActivePythonTrình cài đặt có khả năng tương thích đa nền tảng, tài liệu, PyWin32
Trăn AnacondaCác mô-đun khoa học phổ biến [chẳng hạn như numpy, scipy và pandas] và trình quản lý gói
Just for me, no test suite002Trình quản lý triển khai Enthought
“Trình quản lý gói và môi trường Python thế hệ tiếp theo”
En Thought trước đây đã cung cấp Canopy, nhưng nó đã hết tuổi thọ vào năm 2016
WinPythonPhân phối dành riêng cho Windows với các gói và công cụ khoa học dựng sẵn để xây dựng các gói
Lưu ý rằng các gói này có thể không bao gồm các phiên bản mới nhất của Python hoặc các thư viện khác và không được duy trì hoặc hỗ trợ bởi nhóm Python cốt lõi
4. 6. Cấu hình Python¶
Để chạy Python thuận tiện từ dấu nhắc lệnh, bạn có thể cân nhắc thay đổi một số biến môi trường mặc định trong Windows. Mặc dù trình cài đặt cung cấp tùy chọn để định cấu hình các biến PATH và PATHEXT cho bạn, nhưng điều này chỉ đáng tin cậy đối với một cài đặt duy nhất trên toàn hệ thống. Nếu bạn thường xuyên sử dụng nhiều phiên bản Python, hãy cân nhắc sử dụng Trình khởi chạy Python dành cho Windows .
4. 6. 1. Du ngoạn. Đặt biến môi trường¶
Windows cho phép các biến môi trường được định cấu hình vĩnh viễn ở cả cấp Người dùng và cấp Hệ thống hoặc tạm thời trong dấu nhắc lệnh
Để tạm thời đặt các biến môi trường, hãy mở Command Prompt và sử dụng lệnh set
Just for me, no test suite3
Những thay đổi này sẽ áp dụng cho bất kỳ lệnh nào khác được thực thi trong bảng điều khiển đó và sẽ được kế thừa bởi bất kỳ ứng dụng nào bắt đầu từ bảng điều khiển
Bao gồm tên biến trong các dấu phần trăm sẽ mở rộng thành giá trị hiện có, cho phép bạn thêm giá trị mới của mình ở đầu hoặc cuối. Sửa đổi
Just for me, no test suite1 bằng cách thêm thư mục chứa python. exe vào đầu là một cách phổ biến để đảm bảo phiên bản chính xác của Python được khởi chạy
Để sửa đổi vĩnh viễn các biến môi trường mặc định, hãy nhấp vào Bắt đầu và tìm kiếm 'chỉnh sửa biến môi trường' hoặc mở Thuộc tính hệ thống, Cài đặt hệ thống nâng cao . Trong hộp thoại này, bạn có thể thêm hoặc sửa đổi các biến Người dùng và Hệ thống. Để thay đổi các biến Hệ thống, bạn cần có quyền truy cập không hạn chế vào máy của mình [i. e. quyền quản trị viên]. Environment Variables button. In this dialog, you can add or modify User and System variables. To change System variables, you need non-restricted access to your machine [i.e. Administrator rights].
Ghi chú
Windows sẽ nối các biến Người dùng sau các biến Hệ thống, điều này có thể gây ra kết quả không mong muốn khi sửa đổi
Just for me, no test suite1
Biến
Just for me, no test suite005 được sử dụng bởi tất cả các phiên bản Python, vì vậy bạn không nên định cấu hình biến này vĩnh viễn trừ khi các đường dẫn được liệt kê chỉ bao gồm mã tương thích với tất cả các phiên bản Python đã cài đặt của bạn
Xem thêm
https. // tài liệu. Microsoft. com/en-us/windows/win32/procthread/environment-variablesTổng quan về biến môi trường trên Windows
https. // tài liệu. Microsoft. com/en-us/windows-server/administration/windows-commands/set_1Lệnh
Just for me, no test suite006, để sửa đổi tạm thời các biến môi trườnghttps. // tài liệu. Microsoft. com/en-us/windows-server/administration/windows-commands/setx
Lệnh
Just for me, no test suite007, để sửa đổi vĩnh viễn các biến môi trường
4. 6. 2. Tìm tệp thực thi Python¶
Thay đổi trong phiên bản 3. 5
Bên cạnh việc sử dụng mục nhập menu bắt đầu được tạo tự động cho trình thông dịch Python, bạn có thể muốn khởi động Python trong dấu nhắc lệnh. Trình cài đặt có một tùy chọn để thiết lập cho bạn
Trên trang đầu tiên của trình cài đặt, có thể chọn tùy chọn có nhãn “Thêm Python vào PATH” để yêu cầu trình cài đặt thêm vị trí cài đặt vào
Just for me, no test suite1. Vị trí của thư mục
Just for me, no test suite009 cũng được thêm vào. Điều này cho phép bạn gõ python để chạy trình thông dịch và pip cho trình cài đặt gói. Vì vậy, bạn cũng có thể thực thi tập lệnh của mình bằng các tùy chọn dòng lệnh, xem tài liệu Dòng lệnh .
Nếu bạn không bật tùy chọn này khi cài đặt, bạn luôn có thể chạy lại trình cài đặt, chọn Sửa đổi và bật tùy chọn này. Ngoài ra, bạn có thể sửa đổi
Just for me, no test suite1 theo cách thủ công bằng cách sử dụng hướng dẫn trong Excursus. Đặt biến môi trường . Bạn cần đặt biến môi trường
Just for me, no test suite1 của mình để bao gồm thư mục cài đặt Python của bạn, được phân tách bằng dấu chấm phẩy từ các mục nhập khác. Một biến ví dụ có thể trông như thế này [giả sử hai mục đầu tiên đã tồn tại].
Just for me, no test suite6
4. 7. Chế độ UTF-8¶
Mới trong phiên bản 3. 7
Windows vẫn sử dụng mã hóa kế thừa để mã hóa hệ thống [Trang Mã ANSI]. Python sử dụng nó để mã hóa mặc định các tệp văn bản [e. g.
Just for me, no test suite012]
Điều này có thể gây ra sự cố vì UTF-8 được sử dụng rộng rãi trên internet và hầu hết các hệ thống Unix, bao gồm WSL [Hệ thống con Windows dành cho Linux]
Bạn có thể sử dụng Chế độ Python UTF-8 để thay đổi mã hóa văn bản mặc định thành UTF-8. Bạn có thể bật Chế độ Python UTF-8 thông qua tùy chọn dòng lệnh
Just for me, no test suite013 hoặc biến môi trường
Just for me, no test suite014. Xem
Just for me, no test suite015 để bật chế độ UTF-8 và Excursus. Đặt biến môi trường để biết cách sửa đổi biến môi trường.
Khi Chế độ Python UTF-8 được bật, bạn vẫn có thể sử dụng mã hóa hệ thống [Trang mã ANSI] thông qua “mbcs .
Lưu ý rằng việc thêm
Just for me, no test suite014 vào các biến môi trường mặc định sẽ ảnh hưởng đến tất cả Python 3. Hơn 7 ứng dụng trên hệ thống của bạn. Nếu bạn có bất kỳ Python 3 nào. Hơn 7 ứng dụng dựa vào mã hóa hệ thống cũ, nên tạm thời đặt biến môi trường hoặc sử dụng tùy chọn dòng lệnh
Just for me, no test suite013
Ghi chú
Ngay cả khi chế độ UTF-8 bị tắt, Python vẫn sử dụng UTF-8 theo mặc định trên Windows cho
Console I/O bao gồm I/O tiêu chuẩn [xem PEP 528 để biết chi tiết]
Mã hóa hệ thống tệp [xem PEP 529 để biết chi tiết].
4. 8. Trình chạy Python dành cho Windows¶
Mới trong phiên bản 3. 3
Trình khởi chạy Python cho Windows là một tiện ích hỗ trợ định vị và thực thi các phiên bản Python khác nhau. Nó cho phép các tập lệnh [hoặc dòng lệnh] chỉ ra tùy chọn cho một phiên bản Python cụ thể, đồng thời sẽ định vị và thực thi phiên bản đó
Không giống như biến
Just for me, no test suite1, trình khởi chạy sẽ chọn chính xác phiên bản Python phù hợp nhất. Nó sẽ ưu tiên cài đặt cho mỗi người dùng hơn cài đặt trên toàn hệ thống và sắp xếp theo phiên bản ngôn ngữ hơn là sử dụng phiên bản được cài đặt gần đây nhất
Trình khởi chạy ban đầu được chỉ định trong PEP 397
4. 8. 1. Bắt đầu¶
4. 8. 1. 1. Từ dòng lệnh¶
Thay đổi trong phiên bản 3. 6
Cài đặt Python 3 trên toàn hệ thống. 3 trở lên sẽ đặt trình khởi chạy trên
Just for me, no test suite1 của bạn. Trình khởi chạy tương thích với tất cả các phiên bản Python có sẵn, vì vậy việc cài đặt phiên bản nào không quan trọng. Để kiểm tra xem trình khởi chạy có khả dụng hay không, hãy thực hiện lệnh sau trong Dấu nhắc lệnh
Just for me, no test suite6
Bạn sẽ thấy rằng phiên bản Python mới nhất mà bạn đã cài đặt đã được bắt đầu - phiên bản này có thể được thoát như bình thường và mọi đối số dòng lệnh bổ sung được chỉ định sẽ được gửi trực tiếp tới Python
Nếu bạn đã cài đặt nhiều phiên bản Python [e. g. , 3. 7 và 3. 11] bạn sẽ nhận thấy rằng Python 3. 11 đã được bắt đầu - để khởi chạy Python 3. 7, thử lệnh
Just for me, no test suite00
Nếu bạn muốn phiên bản Python 2 mới nhất mà bạn đã cài đặt, hãy thử lệnh
Just for me, no test suite01
Bạn nên tìm phiên bản Python 3 mới nhất. x bắt đầu
Nếu bạn thấy lỗi sau, bạn chưa cài đặt trình khởi chạy
Just for me, no test suite02
Cài đặt Python cho mỗi người dùng không thêm trình khởi chạy vào
Just for me, no test suite1 trừ khi tùy chọn được chọn khi cài đặt
Lệnh
Just for me, no test suite03
hiển thị [các] phiên bản hiện được cài đặt của Python
4. 8. 1. 2. Môi trường ảo¶
Mới trong phiên bản 3. 5
Nếu trình khởi chạy được chạy mà không có thông số phiên bản Python rõ ràng và môi trường ảo [được tạo bằng mô-đun
Just for me, no test suite021 thư viện chuẩn hoặc công cụ
Just for me, no test suite022 bên ngoài] đang hoạt động, thì trình khởi chạy sẽ chạy trình thông dịch của môi trường ảo thay vì trình thông dịch chung. Để chạy trình thông dịch toàn cầu, hãy hủy kích hoạt môi trường ảo hoặc chỉ định rõ ràng phiên bản Python toàn cầu
4. 8. 1. 3. Từ tập lệnh¶
Hãy tạo một tập lệnh Python thử nghiệm - tạo một tệp có tên
Just for me, no test suite023 với các nội dung sau
Just for me, no test suite04
Từ thư mục trong đó xin chào. py còn sống, hãy thực hiện lệnh
Just for me, no test suite05
Bạn nên chú ý số phiên bản của Python 2 mới nhất của bạn. cài đặt x được in. Bây giờ hãy thử thay đổi dòng đầu tiên thành
Just for me, no test suite06
Thực hiện lại lệnh bây giờ sẽ in Python 3 mới nhất. x thông tin. Như với các ví dụ dòng lệnh ở trên, bạn có thể chỉ định vòng loại phiên bản rõ ràng hơn. Giả sử bạn có Python 3. 7, hãy thử thay đổi dòng đầu tiên thành
Just for me, no test suite024 và bạn sẽ tìm thấy 3. 11 thông tin phiên bản được in
Lưu ý rằng không giống như sử dụng tương tác, một "con trăn" trần sẽ sử dụng phiên bản Python 2 mới nhất. x mà bạn đã cài đặt. Điều này là để tương thích ngược và để tương thích với Unix, trong đó lệnh
Just for me, no test suite13 thường đề cập đến Python 2
4. 8. 1. 4. Từ liên kết tệp¶
Trình khởi chạy phải được liên kết với các tệp Python [tôi. e.
python-3.9.0.exe /layout [optional target directory]9,
Just for me, no test suite027,
Just for me, no test suite90] khi nó được cài đặt. Điều này có nghĩa là khi bạn nhấp đúp vào một trong các tệp này từ Windows Explorer, trình khởi chạy sẽ được sử dụng và do đó bạn có thể sử dụng cùng một phương tiện được mô tả ở trên để yêu cầu tập lệnh chỉ định phiên bản sẽ được sử dụng
Lợi ích chính của điều này là một trình khởi chạy có thể hỗ trợ nhiều phiên bản Python cùng lúc tùy thuộc vào nội dung của dòng đầu tiên
4. 8. 2. Dòng Shebang¶
Nếu dòng đầu tiên của tệp tập lệnh bắt đầu bằng
Just for me, no test suite029, nó được gọi là dòng “shebang”. Linux và các hệ điều hành tương tự Unix khác có hỗ trợ riêng cho các dòng như vậy và chúng thường được sử dụng trên các hệ thống đó để chỉ ra cách thực thi tập lệnh. Trình khởi chạy này cho phép các phương tiện tương tự được sử dụng với các tập lệnh Python trên Windows và các ví dụ ở trên minh họa việc sử dụng chúng
Để cho phép các dòng Shebang trong tập lệnh Python có thể di động giữa Unix và Windows, trình khởi chạy này hỗ trợ một số lệnh 'ảo' để chỉ định trình thông dịch nào sẽ sử dụng. Các lệnh ảo được hỗ trợ là
Just for me, no test suite
030Just for me, no test suite
031Just for me, no test suite
032Just for me, no test suite
13
Ví dụ: nếu dòng đầu tiên trong tập lệnh của bạn bắt đầu bằng
Just for me, no test suite07
Python mặc định sẽ được định vị và sử dụng. Vì nhiều tập lệnh Python được viết để hoạt động trên Unix sẽ có dòng này, bạn sẽ thấy các tập lệnh này có thể được trình khởi chạy sử dụng mà không cần sửa đổi. Nếu bạn đang viết một tập lệnh mới trên Windows mà bạn hy vọng sẽ hữu ích trên Unix, bạn nên sử dụng một trong các dòng shebang bắt đầu bằng
Just for me, no test suite034
Bất kỳ lệnh ảo nào ở trên đều có thể được thêm vào một phiên bản rõ ràng [chỉ là phiên bản chính hoặc phiên bản chính và phụ]. Hơn nữa, phiên bản 32 bit có thể được yêu cầu bằng cách thêm “-32” sau phiên bản phụ. Tôi. e.
Just for me, no test suite035 sẽ yêu cầu sử dụng python 3 32 bit. 7
Mới trong phiên bản 3. 7. Bắt đầu với python launcher 3. 7, có thể yêu cầu phiên bản 64-bit bằng hậu tố “-64”. Hơn nữa, có thể chỉ định chính và kiến trúc không có phụ [i. e.
Just for me, no test suite036].
Đã thay đổi trong phiên bản 3. 11. Hậu tố “-64” không được dùng nữa và hiện hàm ý “bất kỳ kiến trúc nào không phải là i386/32-bit”. Để yêu cầu một môi trường cụ thể, hãy sử dụng đối số
Just for me, no test suite037 mới với thẻ hoàn chỉnh.
Dạng
Just for me, no test suite038 của đường shebang có một thuộc tính đặc biệt nữa. Trước khi tìm kiếm các trình thông dịch Python đã cài đặt, biểu mẫu này sẽ tìm kiếm tệp thực thi
Just for me, no test suite1 để tìm tệp thực thi Python. Điều này tương ứng với hành vi của chương trình Unix
Just for me, no test suite040, thực hiện tìm kiếm
Just for me, no test suite1. Nếu không thể tìm thấy một tệp thực thi khớp với đối số đầu tiên sau lệnh
Just for me, no test suite040, nó sẽ được xử lý như mô tả bên dưới. Ngoài ra, biến môi trường
Just for me, no test suite043 có thể được đặt [thành bất kỳ giá trị nào] để bỏ qua tìm kiếm bổ sung này
Các dòng Shebang không khớp với bất kỳ mẫu nào trong số này được coi là đường dẫn Windows tuyệt đối hoặc tương đối với thư mục chứa tệp tập lệnh. Đây là một sự thuận tiện cho các tập lệnh chỉ dành cho Windows, chẳng hạn như các tập lệnh được tạo bởi trình cài đặt, vì hành vi này không tương thích với các hệ vỏ kiểu Unix. Các đường dẫn này có thể được trích dẫn và có thể bao gồm nhiều đối số, sau đó đường dẫn đến tập lệnh và bất kỳ đối số bổ sung nào sẽ được thêm vào
4. 8. 3. Các đối số trong dòng Shebang¶
Các dòng shebang cũng có thể chỉ định các tùy chọn bổ sung được chuyển tới trình thông dịch Python. Ví dụ: nếu bạn có một dòng shebang
Just for me, no test suite08
Sau đó, Python sẽ được bắt đầu với tùy chọn
Just for me, no test suite044
4. 8. 4. Tùy chỉnh¶
4. 8. 4. 1. Tùy chỉnh qua tệp INI¶
Hai. ini sẽ được trình khởi chạy -
Just for me, no test suite045 tìm kiếm trong thư mục "dữ liệu ứng dụng" của người dùng hiện tại [i. e. thư mục được trả về bằng cách gọi hàm Windows
Just for me, no test suite046 với
Just for me, no test suite047] và
Just for me, no test suite045 trong cùng thư mục với trình khởi chạy. Như nhau. ini được sử dụng cho cả phiên bản 'bảng điều khiển' của trình khởi chạy [tôi. e. py. exe] và cho phiên bản ‘windows’ [i. e. pyw. exe]
Tùy chỉnh được chỉ định trong “thư mục ứng dụng” sẽ được ưu tiên hơn tùy chỉnh bên cạnh tệp thực thi, do đó, người dùng có thể không có quyền ghi vào. ini bên cạnh trình khởi chạy, có thể ghi đè các lệnh trong toàn cầu đó. tập tin ini
4. 8. 4. 2. Tùy chỉnh các phiên bản Python mặc định¶
Trong một số trường hợp, một bộ hạn định phiên bản có thể được bao gồm trong một lệnh để chỉ ra phiên bản Python nào sẽ được lệnh sử dụng. Vòng loại phiên bản bắt đầu bằng số phiên bản chính và có thể tùy ý theo sau bởi dấu chấm [‘. ’] và một công cụ xác định phiên bản phụ. Ngoài ra, có thể chỉ định nếu yêu cầu triển khai 32 hoặc 64 bit bằng cách thêm “-32” hoặc “-64”
Ví dụ: một dòng shebang của
Just for me, no test suite049 không có vòng loại phiên bản, trong khi
Just for me, no test suite050 có vòng loại phiên bản chỉ xác định phiên bản chính
Nếu không tìm thấy vòng loại phiên bản nào trong một lệnh, biến môi trường
Just for me, no test suite051 có thể được đặt để chỉ định vòng loại phiên bản mặc định. Nếu nó không được đặt, giá trị mặc định là “3”. Biến có thể chỉ định bất kỳ giá trị nào có thể được truyền trên dòng lệnh, chẳng hạn như “3”, “3. 7”, “3. 7-32” hoặc “3. 7-64”. [Lưu ý rằng tùy chọn “-64” chỉ khả dụng với trình khởi chạy đi kèm với Python 3. 7 hoặc mới hơn. ]
Nếu không tìm thấy bộ hạn định phiên bản phụ nào, biến môi trường
Just for me, no test suite052 [trong đó
Just for me, no test suite053 là bộ hạn định phiên bản chính hiện tại như đã xác định ở trên] có thể được đặt để chỉ định phiên bản đầy đủ. Nếu không tìm thấy tùy chọn nào như vậy, trình khởi chạy sẽ liệt kê các phiên bản Python đã cài đặt và sử dụng bản phát hành nhỏ mới nhất được tìm thấy cho phiên bản chính, có khả năng, mặc dù không được bảo đảm, là phiên bản được cài đặt gần đây nhất trong họ đó
Trên Windows 64-bit có cả triển khai 32-bit và 64-bit giống nhau [chính. nhỏ] Đã cài đặt phiên bản Python, phiên bản 64 bit sẽ luôn được ưu tiên. Điều này sẽ đúng với cả triển khai 32 bit và 64 bit của trình khởi chạy - trình khởi chạy 32 bit sẽ ưu tiên thực thi cài đặt Python 64 bit của phiên bản đã chỉ định nếu có. Điều này là để có thể dự đoán hành vi của trình khởi chạy chỉ khi biết phiên bản nào được cài đặt trên PC và không quan tâm đến thứ tự chúng được cài đặt [i. e. , mà không cần biết phiên bản 32 hay 64 bit của Python và trình khởi chạy tương ứng đã được cài đặt lần cuối]. Như đã lưu ý ở trên, hậu tố tùy chọn “-32” hoặc “-64” có thể được sử dụng trên bộ chỉ định phiên bản để thay đổi hành vi này
ví dụ
Nếu không có tùy chọn liên quan nào được đặt, các lệnh
Just for me, no test suite
13 vàJust for me, no test suite
055 sẽ sử dụng Python 2 mới nhất. x được cài đặt và lệnhJust for me, no test suite
056 sẽ sử dụng Python 3 mới nhất. x đã cài đặtLệnh
Just for me, no test suite
057 sẽ không tham khảo bất kỳ tùy chọn nào vì các phiên bản được chỉ định đầy đủNếu
Just for me, no test suite
058, các lệnhJust for me, no test suite
13 vàJust for me, no test suite
056 đều sẽ sử dụng phiên bản Python 3 được cài đặt mới nhấtNếu
Just for me, no test suite
061, lệnhJust for me, no test suite
13 sẽ sử dụng triển khai 32-bit của 3. 7 trong khi lệnhJust for me, no test suite
056 sẽ sử dụng Python được cài đặt mới nhất [PY_PYTHON hoàn toàn không được coi là phiên bản chính đã được chỉ định. ]Nếu
Just for me, no test suite
058 vàJust for me, no test suite
065, cả hai lệnhJust for me, no test suite
13 vàJust for me, no test suite
056 sẽ sử dụng cụ thể 3. 7
Ngoài các biến môi trường, các cài đặt tương tự có thể được định cấu hình trong. Tệp INI được trình khởi chạy sử dụng. Phần trong tệp INI được gọi là
Just for me, no test suite068 và tên khóa sẽ giống với các biến môi trường không có tiền tố
Just for me, no test suite069 ở đầu [và lưu ý rằng tên khóa trong tệp INI không phân biệt chữ hoa chữ thường. ] Nội dung của biến môi trường sẽ ghi đè những thứ được chỉ định trong tệp INI
Ví dụ
Đặt
Just for me, no test suite
070 tương đương với tệp INI chứa
Just for me, no test suite09
Đặt
Just for me, no test suite
058 vàJust for me, no test suite
065 tương đương với tệp INI chứa
Just for me, no test suite0
4. 8. 5. Chẩn đoán¶
Nếu biến môi trường
Just for me, no test suite073 được đặt [thành bất kỳ giá trị nào], trình khởi chạy sẽ in thông tin chẩn đoán tới thiết bị lỗi chuẩn [i. e. đến bàn điều khiển]. Mặc dù thông tin này quản lý đồng thời dài dòng và ngắn gọn, nhưng nó sẽ cho phép bạn xem phiên bản nào của Python được định vị, tại sao một phiên bản cụ thể được chọn và dòng lệnh chính xác được sử dụng để thực thi Python mục tiêu. Nó chủ yếu dành cho thử nghiệm và gỡ lỗi
4. 8. 6. Chạy khô¶
Nếu một biến môi trường
Just for me, no test suite074 được đặt [thành bất kỳ giá trị nào], trình khởi chạy sẽ xuất lệnh mà nó sẽ chạy, nhưng sẽ không thực sự khởi chạy Python. Điều này có thể hữu ích cho các công cụ muốn sử dụng trình khởi chạy để phát hiện và sau đó khởi chạy trực tiếp Python. Lưu ý rằng lệnh được ghi vào đầu ra tiêu chuẩn luôn được mã hóa bằng UTF-8 và có thể không hiển thị chính xác trong bảng điều khiển
4. 8. 7. Cài đặt theo yêu cầu¶
Nếu biến môi trường
Just for me, no test suite075 được đặt [thành bất kỳ giá trị nào] và phiên bản Python được yêu cầu chưa được cài đặt nhưng có sẵn trên Microsoft Store, thì trình khởi chạy sẽ cố gắng cài đặt phiên bản đó. Điều này có thể yêu cầu tương tác người dùng để hoàn tất và bạn có thể cần chạy lại lệnh
Một biến
Just for me, no test suite076 bổ sung khiến trình khởi chạy luôn cố gắng cài đặt Python, ngay cả khi nó được phát hiện. Điều này chủ yếu dành cho thử nghiệm [và nên được sử dụng với
Just for me, no test suite074]
4. 8. 8. Trả về mã¶
Trình khởi chạy Python có thể trả về các mã thoát sau. Thật không may, không có cách nào để phân biệt chúng với mã thoát của chính Python
Tên của các mã được sử dụng trong các nguồn và chỉ mang tính chất tham khảo. Không có cách nào để truy cập hoặc giải quyết chúng ngoài việc đọc trang này. Các mục được liệt kê theo thứ tự chữ cái của tên
Tên
Giá trị
Sự mô tả
RC_BAD_VENV_CFG
107
Một
Just for me, no test suite078 đã được tìm thấy nhưng bị hỏng
RC_CREATE_PROCESS
101
Không thể khởi chạy Python
RC_INSTALLING
111
Quá trình cài đặt đã được bắt đầu, nhưng lệnh sẽ cần được chạy lại sau khi hoàn tất
RC_INTERNAL_ERROR
109
Lỗi không mong đợi. Vui lòng báo lỗi
RC_NO_COMMANDLINE
108
Không thể lấy dòng lệnh từ hệ điều hành
RC_NO_PYTHON
103
Không thể định vị phiên bản được yêu cầu
RC_NO_VENV_CFG
106
Một
Just for me, no test suite078 được yêu cầu nhưng không tìm thấy
4. 9. Tìm mô-đun¶
Những ghi chú này bổ sung cho mô tả tại Việc khởi tạo hệ thống. đường dẫn tìm kiếm mô-đun đường dẫn với ghi chú Windows chi tiết.
Khi không tìm thấy tệp
Just for me, no test suite080, đây là cách
Just for me, no test suite081 được điền trên Windows
Một mục trống được thêm vào lúc bắt đầu, tương ứng với thư mục hiện tại
Nếu biến môi trường
Just for me, no test suite
005 tồn tại, như được mô tả trong Biến môi trường , các mục nhập của nó sẽ được thêm vào tiếp theo. Lưu ý rằng trên Windows, các đường dẫn trong biến này phải được phân tách bằng dấu chấm phẩy, để phân biệt chúng với dấu hai chấm được sử dụng trong mã định danh ổ đĩa [Just for me, no test suite
083, v.v. ].Có thể thêm "đường dẫn ứng dụng" bổ sung vào sổ đăng ký dưới dạng khóa con của
Just for me, no test suite
084 trong cả tổ ongJust for me, no test suite
085 vàJust for me, no test suite
086. Các khóa con có chuỗi đường dẫn được phân tách bằng dấu chấm phẩy làm giá trị mặc định của chúng sẽ khiến mỗi đường dẫn được thêm vàoJust for me, no test suite
081. [Lưu ý rằng tất cả các trình cài đặt đã biết chỉ sử dụng HKLM, vì vậy HKCU thường trống. ]Nếu biến môi trường
Just for me, no test suite
088 được đặt, nó được coi là “Python Home”. Mặt khác, đường dẫn của tệp thực thi Python chính được sử dụng để xác định vị trí “tệp mốc” [hoặcJust for me, no test suite
089 hoặcJust for me, no test suite
090] để suy ra “Trang chủ Python”. Nếu tìm thấy một trang chủ Python, các thư mục con có liên quan được thêm vàoJust for me, no test suite
081 [Just for me, no test suite
092,Just for me, no test suite
093, v.v.] sẽ dựa trên thư mục đó. Mặt khác, đường dẫn Python lõi được tạo từ PythonPath được lưu trữ trong sổ đăng kýNếu không thể định vị Trang chủ Python, không có
Just for me, no test suite
005 nào được chỉ định trong môi trường và không tìm thấy mục đăng ký nào, thì một đường dẫn mặc định với các mục tương đối sẽ được sử dụng [e. g.Just for me, no test suite
095, v.v.]
Nếu tệp
Just for me, no test suite078 được tìm thấy cùng với tệp thực thi chính hoặc trong thư mục cao hơn tệp thực thi một cấp, các biến thể sau sẽ được áp dụng
Nếu
Just for me, no test suite
097 là một đường dẫn tuyệt đối vàJust for me, no test suite
088 không được đặt, thì đường dẫn này được sử dụng thay cho đường dẫn đến tệp thực thi chính khi suy ra vị trí ban đầu
Kết quả cuối cùng của tất cả điều này là
Khi chạy
Just for me, no test suite
97, hoặc bất kỳ. exe trong thư mục Python chính [phiên bản đã cài đặt hoặc trực tiếp từ thư mục PCbuild], đường dẫn lõi được suy ra và các đường dẫn lõi trong sổ đăng ký bị bỏ qua. Các “đường dẫn ứng dụng” khác trong sổ đăng ký luôn được đọcKhi Python được lưu trữ ở nơi khác. exe [thư mục khác, được nhúng qua COM, v.v.], "Python Home" sẽ không được suy ra, vì vậy đường dẫn lõi từ sổ đăng ký được sử dụng. Các “đường dẫn ứng dụng” khác trong sổ đăng ký luôn được đọc
Nếu Python không thể tìm thấy nhà của nó và không có giá trị đăng ký [đóng băng. exe, một số thiết lập cài đặt rất lạ], bạn sẽ nhận được một đường dẫn với một số đường dẫn mặc định nhưng tương đối
Đối với những người muốn đưa Python vào ứng dụng hoặc bản phân phối của họ, lời khuyên sau đây sẽ ngăn xung đột với các bản cài đặt khác
Bao gồm tệp
Just for me, no test suite
080 cùng với tệp thực thi của bạn có chứa các thư mục cần bao gồm. Điều này sẽ bỏ qua các đường dẫn được liệt kê trong sổ đăng ký và các biến môi trường, đồng thời bỏ quaJust for me, no test suite
01 trừ khiJust for me, no test suite
02 được liệt kêNếu bạn đang tải
Just for me, no test suite
62 hoặcJust for me, no test suite
63 trong tệp thực thi của riêng mình, hãy gọi rõ ràngJust for me, no test suite
05 hoặc [ít nhất]Just for me, no test suite
06 trướcJust for me, no test suite
07Xóa và/hoặc ghi đè lên
Just for me, no test suite
005 và đặtJust for me, no test suite
088 trước khi khởi chạyJust for me, no test suite
97 từ ứng dụng của bạnNếu bạn không thể sử dụng các đề xuất trước đó [ví dụ: bạn là một bản phân phối cho phép mọi người chạy trực tiếp
Just for me, no test suite
97], hãy đảm bảo rằng tệp mốc [Just for me, no test suite
089] tồn tại trong thư mục cài đặt của bạn. [Lưu ý rằng nó sẽ không được phát hiện bên trong tệp ZIP, nhưng thay vào đó, tệp ZIP được đặt tên chính xác sẽ được phát hiện. ]
Những điều này sẽ đảm bảo rằng các tệp trong bản cài đặt toàn hệ thống sẽ không được ưu tiên hơn bản sao của thư viện chuẩn đi kèm với ứng dụng của bạn. Nếu không, người dùng của bạn có thể gặp sự cố khi sử dụng ứng dụng của bạn. Lưu ý rằng đề xuất đầu tiên là tốt nhất, vì những đề xuất khác vẫn có thể dễ bị ảnh hưởng bởi các đường dẫn không chuẩn trong sổ đăng ký và gói trang web của người dùng
Thay đổi trong phiên bản 3. 6
Thêm hỗ trợ tệp
Just for me, no test suite080 và xóa tùy chọnJust for me, no test suite14 khỏiJust for me, no test suite078Thêm
Just for me, no test suite16 làm mốc tiềm năng khi liền kề với tệp thực thi
Không dùng nữa kể từ phiên bản 3. 6
Các mô-đun được chỉ định trong sổ đăng ký theo
Just for me, no test suite17 [không phảiJust for me, no test suite18] có thể được nhập vào trướcJust for me, no test suite19. Công cụ tìm này được bật trên Windows trong 3. 6. 0 trở về trước, nhưng có thể cần được thêm rõ ràng vàoJust for me, no test suite20 trong tương lai
4. 10. Các mô-đun bổ sung¶
Mặc dù Python nhằm mục đích di động giữa tất cả các nền tảng, nhưng có những tính năng chỉ dành riêng cho Windows. Một vài mô-đun, cả trong thư viện tiêu chuẩn và bên ngoài, và tồn tại các đoạn trích để sử dụng các tính năng này
Các mô-đun tiêu chuẩn dành riêng cho Windows được ghi lại trong Dịch vụ dành riêng cho Windows của MS .
4. 10. 1. PyWin32¶
Mô-đun PyWin32 của Mark Hammond là tập hợp các mô-đun để hỗ trợ nâng cao dành riêng cho Windows. Điều này bao gồm các tiện ích cho
Mô hình đối tượng thành phần [COM]
Lệnh gọi API Win32
đăng ký
Nhật ký sự kiện
Giao diện người dùng Microsoft Foundation Classes [MFC]
PythonWin là một ứng dụng MFC mẫu đi kèm với PyWin32. Nó là một IDE có thể nhúng với trình gỡ lỗi tích hợp
Xem thêm
Win32 Làm thế nào để tôi…?của Tim Vàng
Python và COMcủa David và Paul Boddie
4. 10. 2. cx_Freeze¶
cx_Freeze là một tiện ích mở rộng của
Just for me, no test suite21 [xem Mở rộng Distutils ] bao bọc các tập lệnh Python thành các chương trình Windows có thể thực thi [tệp
Just for me, no test suite22]. Khi bạn hoàn thành việc này, bạn có thể phân phối ứng dụng của mình mà không yêu cầu người dùng cài đặt Python.
4. 11. Biên dịch Python trên Windows¶
Nếu bạn muốn tự biên dịch CPython, điều đầu tiên bạn nên làm là lấy mã nguồn. Bạn có thể tải xuống nguồn của bản phát hành mới nhất hoặc chỉ cần lấy một bản thanh toán mới
Cây nguồn chứa giải pháp xây dựng và các tệp dự án cho Microsoft Visual Studio, đây là trình biên dịch được sử dụng để xây dựng các bản phát hành Python chính thức. Các tệp này nằm trong thư mục
Just for me, no test suite23
Kiểm tra
Just for me, no test suite24 để biết thông tin chung về quy trình xây dựng
Đối với các mô-đun mở rộng, hãy tham khảo Xây dựng tiện ích mở rộng C và C++ trên Windows .
4. 12. Nền tảng khác¶
Với sự phát triển liên tục của Python, một số nền tảng từng được hỗ trợ trước đó không còn được hỗ trợ [do thiếu người dùng hoặc nhà phát triển]. Kiểm tra PEP 11 để biết chi tiết về tất cả các nền tảng không được hỗ trợ