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

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 installer

4. 1. 1. Installation steps

Four 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

Tại sao python không hiển thị trong cmd?

If you select “Install Now”

  • You will not need to be an administrator (unless a system update for the C Runtime Library is required or you install the for all users)

  • Python will be installed into your user directory

  • The will be installed according to the option at the bottom of the first page

  • The standard library, test suite, launcher and pip will be installed

  • If selected, the install directory will be added to your

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    3

  • Shortcuts will only be visible for the current user

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

  • You may be required to provide administrative credentials or approval

  • Python will be installed into the Program Files directory

  • The will be installed into the Windows directory

  • Optional features may be selected during installation

  • The standard library can be pre-compiled to bytecode

  • If selected, the install directory will be added to the system

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    3

  • Shortcuts are available for all users

4. 1. 2. Removing the MAX_PATH Limitation

Windows 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

5 to

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

6 in the registry key

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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ù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 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,

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">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ế ____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 đặ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ừ mục 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

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.2
1 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.2
5 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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:\>python
0 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 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:\>python
1 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:\>python
2 là
C:\>set PATH=C:\Program Files\Python 3.9;%PATH%
C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
C:\>python
3 thì khi ghi vào
C:\>set PATH=C:\Program Files\Python 3.9;%PATH%
C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
C:\>python
4 sẽ ghi thành
C:\>set PATH=C:\Program Files\Python 3.9;%PATH%
C:\>set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
C:\>python
5

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:\>python
6 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:\>python
6 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:\>python
8

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

  • Cho phép đọc từ

    C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
    
    0 và kết quả được hợp nhất với tệp
    C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
    
    1 trong gói

  • Không được phép ghi vào

    C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
    
    0 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

    C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
    
    0 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. 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.9
4 có thể được tải xuống trực tiếp từ
C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
5, 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.9
6. Thư mục đầu ra có thể được thay đổi từ
C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Python 3.9
7 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.9
8, 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.9
9 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.9
9 là thư mục
py
1. Tệp này chứa tệp thuộc tính MSBuild
py
2 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

>>> 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à
py
4,
py
5,
>>> 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à
py
7 đề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

py
8 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, một trình khởi chạy tùy chỉnh chỉ có thể gọi

py
9 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
py
7 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

>>> 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
py
4. Đố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

ActivePython

Trình cài đặt có khả năng tương thích đa nền tảng, tài liệu, PyWin32

Anaconda

Cá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."
04

Trì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

WinPython

Phâ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ườ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

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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-variables

Tổ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_1

Lệ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ường

https. // 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 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

3 bằng cách sử dụng hướng dẫn trong. Bạn cần đặt biến môi trường

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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-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. )

Đ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

  • Console I/O bao gồm I/O tiêu chuẩn (xem PEP 528 để biết chi tiết)

  • (xem PEP 529 để biết chi tiết)

4. 8. Trình khởi 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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 đầ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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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 ả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 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ệnh

Hã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ệp

Trì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 Shebang

Nế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à

  • python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    45

  • python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    46

  • python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    47

  • nuget.exe install python -ExcludeVersion -OutputDirectory .
    nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
    
    5

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

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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ỉnh

4. 8. 4. 1. Tùy chỉnh qua tệp INI

Hai. 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 versions

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

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ụ

  • Nếu không có tùy chọn liên quan nào được đặt, các lệnh

    nuget.exe install python -ExcludeVersion -OutputDirectory .
    nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
    
    5 và
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    73 sẽ sử dụng Python 2 mới nhất. x được cài đặt và lệnh
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    74 sẽ sử dụng Python 3 mới nhất. x đã cài đặt

  • Lệnh

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    75 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

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    76, cả hai lệnh
    nuget.exe install python -ExcludeVersion -OutputDirectory .
    nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
    
    5 và
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    74 sẽ sử dụng phiên bản Python 3 được cài đặt mới nhất

  • Nếu

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    79, lệnh
    nuget.exe install python -ExcludeVersion -OutputDirectory .
    nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
    
    5 sẽ sử dụng triển khai 32-bit của 3. 7 trong khi lệnh
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    74 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

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    76 và
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    83, các lệnh
    nuget.exe install python -ExcludeVersion -OutputDirectory .
    nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
    
    5 và
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    74 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ó 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ụ

  • Đặt

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    88 tương đương với tệp INI chứa


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

1

  • Đặt

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    76 và
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    83 tương đương với tệp INI chứa


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

2

4. 8. 5. Chẩn đoán

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."
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ầu

Nế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ô-đun

Cá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

  • 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 tồn tại, như được mô tả trong , 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 (_______0_______01, v.v. )

  • "Đường dẫn ứng dụng" bổ sung có thể được thêm vào sổ đăng ký dưới dạng khóa con của

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    02 trong cả tổ ong
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    03 và
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    04. 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ào. (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 đượ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ặc

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    07 hoặc
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    08) để 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ào (
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    10,
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    11, 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 chỉ định trong môi trường và không tìm thấy mục đăng ký nào, thì đường dẫn mặc định với các mục tương đối sẽ được sử dụng (e. g.

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    13, v.v.)

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

  • Nếu

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    15 là một đường dẫn tuyệt đối và 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

    >>> 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 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 đọc

  • Khi 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, some very strange installation setup) you get a path with some default, but relative, paths

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

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    98 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 cũng bỏ qua trừ khi
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    20 được liệt kê

  • Nếu bạn đang tải

    py
    
    4 hoặc
    py
    
    5 trong tệp thực thi của riêng bạn, hãy gọi rõ ràng hoặc (ít nhất) trước

  • Xóa và/hoặc ghi đè và đặt trước khi khởi chạy

    >>> 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 từ ứng dụng của bạn

  • Nế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

    >>> 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), hãy đảm bảo rằng tệp mốc (
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    07) tồn tại trong thư mục cài đặt của bạn. (Note that it will not be detected inside a ZIP file, but a correctly named ZIP file will be detected instead. )

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

    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    98 và xóa tùy chọn
    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    32 khỏi
    python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
        SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."
    
    96

  • Thêm

    
         Name="InstallAllUsers" Value="no" />
         Name="Include_launcher" Value="0" />
         Name="Include_test" Value="no" />
         Name="SimpleInstall" Value="yes" />
         Name="SimpleInstallDescription">Just for me, no test suite
    
    
    34 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

35 (không phải

     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

36) có thể được nhập bởi. Công cụ tìm này được bật trên Windows trong 3. 6. 0 and earlier, but may need to be explicitly added to in the future

4. 10. Các mô-đun bổ sung

Even 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. PyWin32

The PyWin32 module by Mark Hammond is a collection of modules for advanced Windows-specific support. This includes utilities for

  • Component Object Model (COM)

  • Lệnh gọi API Win32

  • đăng ký

  • Event log

  • Microsoft Foundation Classes (MFC) user interfaces

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à COM

by David and Paul Boddie

4. 10. 2. cx_Freeze

cx_Freeze is a extension (see ) which wraps Python scripts into executable Windows programs (


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

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 Windows

If 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


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

41 directory

Check


     Name="InstallAllUsers" Value="no" />
     Name="Include_launcher" Value="0" />
     Name="Include_test" Value="no" />
     Name="SimpleInstall" Value="yes" />
     Name="SimpleInstallDescription">Just for me, no test suite

42 for general information on the build process

For extension modules, consult

4. 12. Other Platforms

With 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