Tại sao python không hiển thị trong cmd?
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 Show
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. The installer is also able to install for all users of a single machine, and a separate ZIP file is available for application-local distributions As specified in PEP 11, a Python release only supports a Windows platform while Microsoft considers the platform under extended support. This means that Python 3. 11 supports Windows 8. 1 and newer. If you require Windows 7 support, please install Python 3. 8 There are a number of different installers available for Windows, each with certain benefits and downsides contains all components and is the best option for developers using Python for any kind of project is a simple installation of Python that is suitable for running scripts and packages, and using IDLE or other development environments. It requires Windows 10 and above, but can be safely installed without corrupting other programs. It also provides many convenient commands for launching Python and its tools are lightweight installations intended for continuous integration systems. It can be used to build Python packages or run scripts, but is not updateable and has no user interface tools is a minimal package of Python suitable for embedding into a larger application 4. 1. The full installer4. 1. 1. Installation stepsFour Python 3. 11 installers are available for download - two each for the 32-bit and 64-bit versions of the interpreter. The web installer is a small initial download, and it will automatically download the required components as necessary. The offline installer includes the components necessary for a default installation and only requires an internet connection for optional features. See for other ways to avoid downloading during installation After starting the installer, one of two options may be selected If you select “Install Now”
Selecting “Customize installation” will allow you to select the features to install, the installation location and other options or post-install actions. To install debugging symbols or binaries, you will need to use this option To perform an all-users installation, you should select “Customize installation”. In this case
4. 1. 2. Removing the MAX_PATH LimitationWindows historically has limited path lengths to 260 characters. This meant that paths longer than this would not resolve and errors would result In the latest versions of Windows, this limitation can be expanded to approximately 32,000 characters. Your administrator will need to activate the “Enable Win32 long paths” group policy, or set 5 to 6 in the registry key 7 This allows the function, the module and most other path functionality to accept and return paths longer than 260 characters 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. Support for long paths was enabled in Python. 4. 1. 3. Cài đặt không có giao diện người dùngTấ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 của 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 python-3.9.0.exe /layout [optional target directory]0. Để 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 python-3.9.0.exe /layout [optional target directory]1. Tùy chọn python-3.9.0.exe /layout [optional target directory]2 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 thông qua dưới dạng python-3.9.0.exe /layout [optional target directory]3, trong đó giá trị thường là python-3.9.0.exe /layout [optional target directory]4 để tắt một tính năng, 6 để bật một tính năng hoặc một đườ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ự miêu 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 The default installation directory for all-user installs python-3.9.0.exe /layout [optional target directory]6 or python-3.9.0.exe /layout [optional target directory]7 DefaultJustForMeTargetDir The default install directory for just-for-me installs python-3.9.0.exe /layout [optional target directory]8 or python-3.9.0.exe /layout [optional target directory]9 or >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'0 DefaultCustomTargetDir The default custom install directory displayed in the UI (empty) AssociateFiles Create file associations if the launcher is also installed 1 CompileAll Compile all >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'1 files to >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'2 0 PrependPath Prepend install and Scripts directories to 3 and add >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'4 to >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'5 0 AppendPath Append install and Scripts directories to 3 and add >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'4 to >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'5 0 Shortcuts Create shortcuts for the interpreter, documentation and IDLE if installed 1 Include_doc Install Python manual 1 Include_debug Install debug binaries 0 Include_dev Install developer headers and libraries. Omitting this may lead to an unusable installation 1 Include_exe Install >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 and related files. Omitting this may lead to an unusable installation 1 Bao gồm_launcher Install 1 InstallLauncherAllUsers Installs the launcher for all users. Also requires nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .0 to be set to 1 1 Include_lib Install standard library and extension modules. Omitting this may lead to an unusable installation 1 Include_pip Install bundled pip and setuptools 1 Include_symbols Cài đặt các biểu tượng gỡ lỗi ( nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .1) 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 (empty) 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) python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Để 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite." (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. ) The options listed above can also be provided in a file named nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .2 alongside the executable. 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
4. 1. 4. Cài đặt mà không cần tải xuốngVì 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ế ____25_______3 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 python-3.9.0.exe /layout [optional target directory]0 để ẩn hiển thị tiến độ 4. 1. 5. Sửa đổi cài đặtKhi 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ừ mục có mục riêng trong Chương trình và Tính năng 4. 2. Gói Microsoft StoreMớ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 nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .5. Hơn nữa, pip và IDLE có thể được sử dụng bằng cách gõ nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .6 hoặc nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .7. 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, ví dụ như nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .8 và nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .9 cũng như >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 (trong đó # Without -ExcludeVersion > .\python.3.5.2\tools\python.exe -V Python 3.5.2 # With -ExcludeVersion > .\python\tools\python.exe -V Python 3.5.21 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 nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .6 và nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .7 phù hợp với bất kỳ phiên bản nào của nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .5 được chọn Môi trường ảo có thể được tạo bằng # Without -ExcludeVersion > .\python.3.5.2\tools\python.exe -V Python 3.5.2 # With -ExcludeVersion > .\python\tools\python.exe -V Python 3.5.25 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 khác của Python và thêm nó vào biến 3 của mình, thì phiên bản đó sẽ có sẵn dưới dạng >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 thay vì phiên bản từ Microsoft Store. Để truy cập cài đặt mới, hãy sử dụng nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .8 hoặc nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .9 Trình khởi chạy C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python0 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ết4. 2. 1. 1. Chuyển hướng dữ liệu cục bộ, sổ đăng ký và đường dẫn tạm thờiDo 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 ghi đầy đủ vào các vị trí được chia sẻ, chẳng hạn như C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python1 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 C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python2 là C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python3 thì khi ghi vào C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python4 sẽ ghi thành C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python5 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 C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python6 trả về nội dung của C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python6 cộng với nội dung của C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python8 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 >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt' Khi ghi vào Windows Registry, các hành vi sau tồn tại
Để 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ứcMới trong phiên bản 3. 5. 2 nuget. org package is a reduced size Python environment intended for use on continuous integration and build systems that do not have a system-wide install of Python. 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 C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.94 có thể được tải xuống trực tiếp từ C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.95, 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 nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory . Để chọn một phiên bản cụ thể, hãy thêm C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.96. Thư mục đầu ra có thể được thay đổi từ C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.97 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 C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.98, 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 C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.99 chứa cài đặt Python # Without -ExcludeVersion > .\python.3.5.2\tools\python.exe -V Python 3.5.2 # With -ExcludeVersion > .\python\tools\python.exe -V Python 3.5.2 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 C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.99 là thư mục py1. Tệp này chứa tệp thuộc tính MSBuild py2 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úngMớ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 >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'2 được biên dịch trước và tối ưu hóa trong một tệp ZIP, và py4, py5, >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 và py7 đề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 và trình cài đặt ứng dụng có trách nhiệm cung cấp bản phân phối 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 py8 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 PythonMộ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, một trình khởi chạy tùy chỉnh chỉ có thể gọi py9 bằng một 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 một tệp lô hoặc lối tắt được tạo gọi trực tiếp tới số >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 hoặc py7 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 PythonCá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 >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'9 hoặc sử dụng trực tiếp py4. Đố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 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."04Trì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 4. 6. 1. Du ngoạn. Đặt biến môi trườngWindows 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 C:\>set PATH=C:\Program Files\Python 3.9;%PATH% C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib C:\>python 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 3 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 3 Biến đượ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 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."08, để 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."09, để 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 PythonThay đổ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 3. Vị trí của thư mục python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."11 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. Do đó, bạn cũng có thể thực thi các 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 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 thủ công 3 bằng cách sử dụng hướng dẫn trong. Bạn cần đặt biến môi trường 3 để 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) C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9 4. 7. Chế độ UTF-8Mớ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. ) Đ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 để thay đổi mã hóa văn bản mặc định thành UTF-8. Bạn có thể kích hoạt thông qua tùy chọn dòng lệnh python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."15 hoặc biến môi trường python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."16. Xem để bật chế độ UTF-8 và cách sửa đổi các biến môi trường Khi được bật, bạn vẫn có thể sử dụng mã hóa hệ thống (Trang mã ANSI) thông qua codec “mbcs” Lưu ý rằng việc thêm python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."16 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ũ, bạn 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."15 Ghi chú Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows for
4. 8. Trình khởi chạy Python dành cho WindowsMớ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 3, 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 đầu4. 8. 1. 1. Từ dòng lệnhThay đổ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 3 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 py 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."0 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."1 Nếu bạn thấy lỗi sau, bạn chưa cài đặt trình khởi chạy python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."2 Lệnh python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."3 hiển thị (các) phiên bản hiện được cài đặt của Python Đối số python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."22 là dạng rút gọn của đối số python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."23, cho phép chọn một thời gian chạy Python cụ thể, bao gồm cả những thời gian có thể đến từ một nơi nào đó khác ngoài python. tổ chức. Bất kỳ thời gian chạy nào được đăng ký bằng cách làm theo PEP 514 sẽ có thể khám phá được. Lệnh python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."24 liệt kê tất cả thời gian chạy có sẵn bằng cách sử dụng định dạng python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."25 Khi sử dụng đối số python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."25, việc chỉ định Công ty sẽ giới hạn lựa chọn đối với thời gian chạy từ nhà cung cấp đó, trong khi chỉ định Thẻ sẽ chọn từ tất cả các nhà cung cấp. Lưu ý rằng việc bỏ qua dấu gạch chéo ngụ ý một thẻ python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."4 Dạng rút gọn của đối số ( python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."27) chỉ chọn từ các bản phát hành Python cốt lõi chứ không phải các bản phân phối khác. Tuy nhiên, mẫu dài hơn ( python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."28) sẽ chọn từ bất kỳ Công ty được so khớp trên toàn bộ chuỗi, không phân biệt chữ hoa chữ thường. Thẻ được khớp với một chuỗi đầy đủ hoặc tiền tố, với điều kiện ký tự tiếp theo là dấu chấm hoặc dấu gạch nối. Điều này cho phép python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."29 khớp với python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."30, nhưng không khớp với python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."31. Các thẻ được sắp xếp theo thứ tự số ( python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."31 mới hơn python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."33), nhưng được so sánh bằng văn bản ( python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."34 không khớp với python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."33) 4. 8. 1. 2. Môi trường ảoMớ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 thư viện chuẩn hoặc công cụ python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."37 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ệnhHãy tạo một tập lệnh Python thử nghiệm - tạo một tệp có tên python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."38 với các nội dung sau python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."5 Từ thư mục trong đó xin chào. py còn sống, hãy thực hiện lệnh python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."6 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."7 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."39 và bạn sẽ tìm thấy 3. 7 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 nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .5 thường đề cập đến Python 2 4. 8. 1. 4. Từ liên kết tệpTrình khởi chạy phải được liên kết với các tệp Python (tôi. e. >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'1, python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."42, >>> import os >>> test_file = 'C:\\Users\\example\\AppData\\Local\\test.txt' >>> os.path.realpath(test_file) 'C:\\Users\\example\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\LocalCache\\Local\\test.txt'2 files) when it was installed. Điều này có nghĩa là khi bạn bấm đú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 ShebangNếu dòng đầu tiên của tệp script bắt đầu bằng python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."44, 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à
Ví dụ: nếu dòng đầu tiên trong tập lệnh của bạn bắt đầu bằng python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."8 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."49 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. python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."50 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. python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."51). Đã 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ố python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."52 mới với thẻ hoàn chỉnh. Dạng đường shebang python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."45 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 3 để tìm tệp thực thi Python khớp với tên được cung cấp làm đối số đầu tiên. Điều này tương ứng với hành vi của chương trình Unix python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."55, thực hiện tìm kiếm 3. Nếu không thể tìm thấy tệp thực thi khớp với đối số đầu tiên sau lệnh python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."55, nhưng đối số bắt đầu bằng nuget.exe install python -ExcludeVersion -OutputDirectory . nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .5, thì nó sẽ được xử lý như mô tả cho các lệnh ảo khác. Biến môi trường python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."59 có thể được đặt (thành bất kỳ giá trị nào) để bỏ qua tìm kiếm này của 3 Các dòng Shebang không khớp với bất kỳ mẫu nào trong số này sẽ được tra cứu trong phần python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."61 của trình khởi chạy. Điều này có thể được sử dụng để xử lý một số lệnh nhất định theo cách phù hợp với hệ thống của bạn. Tên của lệnh phải là một đối số duy nhất (không có khoảng trắng trong tệp thực thi Shebang) và giá trị được thay thế là đường dẫn đầy đủ đến tệp thực thi (các đối số bổ sung được chỉ định trong. INI sẽ được trích dẫn như một phần của tên tệp) python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."9 Bất kỳ lệnh nào không tìm thấy trong. Tệp INI được coi là đường dẫn thực thi của 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 shebangCá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 0 Sau đó, Python sẽ được bắt đầu với tùy chọn python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."62 4. 8. 4. Tùy chỉnh4. 8. 4. 1. Tùy chỉnh qua tệp INIHai. ini sẽ được trình khởi chạy tìm kiếm - python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."63 trong thư mục dữ liệu ứng dụng của người dùng hiện tại ( python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."64 hoặc python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."65) và python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."63 trong cùng thư mục với trình khởi chạy. Giống 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. Customizing default Python versionsTrong 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."67 không có từ hạn định phiên bản, trong khi python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."68 có hạn định về phiên bản chỉ xác định một 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."69 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ộ định tính phiên bản phụ nào, biến môi trường python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."70 (trong đó python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."71 là bộ định tí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ụ
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ó tên là python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."86 và tên khóa sẽ giống với các biến môi trường không có tiền tố python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."87 ở đầ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ụ
1
2 4. 8. 5. Chẩn đoánNếu một biến môi trường python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."91 đượ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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."92 đượ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ầuNếu biến môi trường python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."93 đượ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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."94 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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."92) 4. 8. 8. Trả lại 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ự miêu tả RC_BAD_VENV_CFG 107 Một python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."96 đã đượ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 python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."96 đã được yêu cầu nhưng không tìm thấy 4. 9. Tìm mô-đunCác ghi chú này bổ sung cho mô tả tại các ghi chú chi tiết của Windows Khi không tìm thấy tệp python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."98, đây là cách được điền trên Windows
Nếu tệp python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0 SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."96 được tìm thấy bên cạnh 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
Kết quả cuối cùng của tất cả điều này là
Đố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
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
Không dùng nữa kể từ phiên bản 3. 6
4. 10. Các mô-đun bổ sungEven though Python aims to be portable among all platforms, there are features that are unique to 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 4. 10. 1. PyWin32The PyWin32 module by Mark Hammond is a collection of modules for advanced Windows-specific support. This includes utilities for
PythonWin is a sample MFC application shipped with PyWin32. It is an embeddable IDE with a built-in debugger Xem thêm Win32 How Do I…?by Tim Golden Python và COMby David and Paul Boddie 4. 10. 2. cx_Freezecx_Freeze is a extension (see ) which wraps Python scripts into executable Windows programs ( 40 files). When you have done this, you can distribute your application without requiring your users to install Python 4. 11. Biên dịch Python trên WindowsIf you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release’s source or just grab a fresh The source tree contains a build solution and project files for Microsoft Visual Studio, which is the compiler used to build the official Python releases. These files are in the 41 directory Check 42 for general information on the build process For extension modules, consult 4. 12. Other PlatformsWith ongoing development of Python, some platforms that used to be supported earlier are no longer supported (due to the lack of users or developers). Check PEP 11 for details on all unsupported platforms |