# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Ching-Lung Chuang, 2015
# Liang-Bo Wang , 2015
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-08-17 00:04+0000\n"
"PO-Revision-Date: 2018-05-23 16:19+0000\n"
"Last-Translator: Adrian Liaw \n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
"tw)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../using/windows.rst:7
msgid "Using Python on Windows"
msgstr " Windows Python"
#: ../../using/windows.rst:12
msgid ""
"This document aims to give an overview of Windows-specific behaviour you "
"should know about when using Python on Microsoft Windows."
msgstr ""
#: ../../using/windows.rst:15
msgid ""
"Unlike most Unix systems and services, Windows does not include a system "
"supported installation of Python. To make Python available, the CPython team "
"has compiled Windows installers (MSI packages) with every `release `_ for many years. These installers are "
"primarily intended to add a per-user installation of Python, with the core "
"interpreter and library being used by a single user. 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."
msgstr ""
#: ../../using/windows.rst:24
msgid ""
"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 |version| supports Windows 8.1 and newer. If you require Windows "
"7 support, please install Python 3.8."
msgstr ""
#: ../../using/windows.rst:29
msgid ""
"There are a number of different installers available for Windows, each with "
"certain benefits and downsides."
msgstr ""
#: ../../using/windows.rst:32
msgid ""
":ref:`windows-full` contains all components and is the best option for "
"developers using Python for any kind of project."
msgstr ""
#: ../../using/windows.rst:35
msgid ""
":ref:`windows-store` 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."
msgstr ""
#: ../../using/windows.rst:41
msgid ""
":ref:`windows-nuget` 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."
msgstr ""
#: ../../using/windows.rst:45
msgid ""
":ref:`windows-embeddable` is a minimal package of Python suitable for "
"embedding into a larger application."
msgstr ""
#: ../../using/windows.rst:52
msgid "The full installer"
msgstr ""
#: ../../using/windows.rst:55
msgid "Installation steps"
msgstr ""
#: ../../using/windows.rst:57
msgid ""
"Four Python |version| 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 :ref:`install-layout-option` for other "
"ways to avoid downloading during installation."
msgstr ""
#: ../../using/windows.rst:65
msgid "After starting the installer, one of two options may be selected:"
msgstr ""
#: ../../using/windows.rst:69
msgid "If you select \"Install Now\":"
msgstr ""
#: ../../using/windows.rst:71
msgid ""
"You will *not* need to be an administrator (unless a system update for the C "
"Runtime Library is required or you install the :ref:`launcher` for all users)"
msgstr ""
#: ../../using/windows.rst:74
msgid "Python will be installed into your user directory"
msgstr ""
#: ../../using/windows.rst:75
msgid ""
"The :ref:`launcher` will be installed according to the option at the bottom "
"of the first page"
msgstr ""
#: ../../using/windows.rst:77
msgid "The standard library, test suite, launcher and pip will be installed"
msgstr ""
#: ../../using/windows.rst:78
msgid "If selected, the install directory will be added to your :envvar:`PATH`"
msgstr " :envvar:`PATH`"
#: ../../using/windows.rst:79
msgid "Shortcuts will only be visible for the current user"
msgstr ""
#: ../../using/windows.rst:81
msgid ""
"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."
msgstr ""
""
""
#: ../../using/windows.rst:85
msgid ""
"To perform an all-users installation, you should select \"Customize "
"installation\". In this case:"
msgstr ""
#: ../../using/windows.rst:88
msgid "You may be required to provide administrative credentials or approval"
msgstr ""
#: ../../using/windows.rst:89
msgid "Python will be installed into the Program Files directory"
msgstr ""
#: ../../using/windows.rst:90
msgid "The :ref:`launcher` will be installed into the Windows directory"
msgstr ""
#: ../../using/windows.rst:91
msgid "Optional features may be selected during installation"
msgstr ""
#: ../../using/windows.rst:92
msgid "The standard library can be pre-compiled to bytecode"
msgstr ""
#: ../../using/windows.rst:93
msgid ""
"If selected, the install directory will be added to the system :envvar:`PATH`"
msgstr ""
#: ../../using/windows.rst:94
msgid "Shortcuts are available for all users"
msgstr ""
#: ../../using/windows.rst:99
msgid "Removing the MAX_PATH Limitation"
msgstr ""
#: ../../using/windows.rst:101
msgid ""
"Windows historically has limited path lengths to 260 characters. This meant "
"that paths longer than this would not resolve and errors would result."
msgstr ""
#: ../../using/windows.rst:104
msgid ""
"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 ``LongPathsEnabled`` to "
"``1`` in the registry key "
"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``."
msgstr ""
#: ../../using/windows.rst:110
msgid ""
"This allows the :func:`open` function, the :mod:`os` module and most other "
"path functionality to accept and return paths longer than 260 characters."
msgstr ""
#: ../../using/windows.rst:113
msgid "After changing the above option, no further configuration is required."
msgstr ""
#: ../../using/windows.rst:117
msgid "Support for long paths was enabled in Python."
msgstr ""
#: ../../using/windows.rst:122
msgid "Installing Without UI"
msgstr ""
#: ../../using/windows.rst:124
msgid ""
"All of the options available in the installer UI can also be specified from "
"the command line, allowing scripted installers to replicate an installation "
"on many machines without user interaction. These options may also be set "
"without suppressing the UI in order to change some of the defaults."
msgstr ""
#: ../../using/windows.rst:129
msgid ""
"The following options (found by executing the installer with ``/?``) can be "
"passed into the installer:"
msgstr ""
#: ../../using/windows.rst:133 ../../using/windows.rst:153
#: ../../using/windows.rst:1082
msgid "Name"
msgstr ""
#: ../../using/windows.rst:133 ../../using/windows.rst:153
#: ../../using/windows.rst:1082
msgid "Description"
msgstr ""
#: ../../using/windows.rst:135
msgid "/passive"
msgstr ""
#: ../../using/windows.rst:135
msgid "to display progress without requiring user interaction"
msgstr ""
#: ../../using/windows.rst:137
msgid "/quiet"
msgstr ""
#: ../../using/windows.rst:137
msgid "to install/uninstall without displaying any UI"
msgstr ""
#: ../../using/windows.rst:139
msgid "/simple"
msgstr "/simple"
#: ../../using/windows.rst:139
msgid "to prevent user customization"
msgstr ""
#: ../../using/windows.rst:141
msgid "/uninstall"
msgstr "/uninstall"
#: ../../using/windows.rst:141
msgid "to remove Python (without confirmation)"
msgstr ""
#: ../../using/windows.rst:143
msgid "/layout [directory]"
msgstr ""
#: ../../using/windows.rst:143
msgid "to pre-download all components"
msgstr ""
#: ../../using/windows.rst:145
msgid "/log [filename]"
msgstr ""
#: ../../using/windows.rst:145
msgid "to specify log files location"
msgstr ""
#: ../../using/windows.rst:148
msgid ""
"All other options are passed as ``name=value``, where the value is usually "
"``0`` to disable a feature, ``1`` to enable a feature, or a path. The full "
"list of available options is shown below."
msgstr ""
#: ../../using/windows.rst:153
msgid "Default"
msgstr ""
#: ../../using/windows.rst:155
msgid "InstallAllUsers"
msgstr "InstallAllUsers"
#: ../../using/windows.rst:155
msgid "Perform a system-wide installation."
msgstr ""
#: ../../using/windows.rst:155 ../../using/windows.rst:181
#: ../../using/windows.rst:184 ../../using/windows.rst:188
#: ../../using/windows.rst:197 ../../using/windows.rst:219
#: ../../using/windows.rst:227 ../../using/windows.rst:230
msgid "0"
msgstr "0"
#: ../../using/windows.rst:157
msgid "TargetDir"
msgstr "TargetDir"
#: ../../using/windows.rst:157
msgid "The installation directory"
msgstr ""
#: ../../using/windows.rst:157
msgid "Selected based on InstallAllUsers"
msgstr ""
#: ../../using/windows.rst:160
msgid "DefaultAllUsersTargetDir"
msgstr "DefaultAllUsersTargetDir"
#: ../../using/windows.rst:160
msgid "The default installation directory for all-user installs"
msgstr ""
#: ../../using/windows.rst:160
msgid ""
":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\"
"\\ Python X.Y`"
msgstr ""
#: ../../using/windows.rst:165
msgid "DefaultJustForMeTargetDir"
msgstr "DefaultJustForMeTargetDir"
#: ../../using/windows.rst:165
msgid "The default install directory for just-for-me installs"
msgstr " "
#: ../../using/windows.rst:165
msgid ""
":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or :file:"
"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:"
"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`"
msgstr ""
#: ../../using/windows.rst:175
msgid "DefaultCustomTargetDir"
msgstr "DefaultCustomTargetDir"
#: ../../using/windows.rst:175
msgid "The default custom install directory displayed in the UI"
msgstr ""
#: ../../using/windows.rst:175 ../../using/windows.rst:232
msgid "(empty)"
msgstr ""
#: ../../using/windows.rst:178
msgid "AssociateFiles"
msgstr "AssociateFiles"
#: ../../using/windows.rst:178
msgid "Create file associations if the launcher is also installed."
msgstr ""
#: ../../using/windows.rst:178 ../../using/windows.rst:192
#: ../../using/windows.rst:195 ../../using/windows.rst:199
#: ../../using/windows.rst:203 ../../using/windows.rst:207
#: ../../using/windows.rst:209 ../../using/windows.rst:213
#: ../../using/windows.rst:217 ../../using/windows.rst:221
#: ../../using/windows.rst:223 ../../using/windows.rst:225
msgid "1"
msgstr "1"
#: ../../using/windows.rst:181
msgid "CompileAll"
msgstr "CompileAll"
#: ../../using/windows.rst:181
msgid "Compile all ``.py`` files to ``.pyc``."
msgstr " ``.py`` ``.pyc``\\ "
#: ../../using/windows.rst:184
msgid "PrependPath"
msgstr "PrependPath"
#: ../../using/windows.rst:184
msgid ""
"Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` "
"to :envvar:`PATHEXT`"
msgstr ""
#: ../../using/windows.rst:188
msgid "AppendPath"
msgstr "AppendPath"
#: ../../using/windows.rst:188
msgid ""
"Append install and Scripts directories to :envvar:`PATH` and add ``.PY`` "
"to :envvar:`PATHEXT`"
msgstr ""
#: ../../using/windows.rst:192
msgid "Shortcuts"
msgstr "Shortcuts"
#: ../../using/windows.rst:192
msgid ""
"Create shortcuts for the interpreter, documentation and IDLE if installed."
msgstr ""
#: ../../using/windows.rst:195
msgid "Include_doc"
msgstr "Include_doc"
#: ../../using/windows.rst:195
msgid "Install Python manual"
msgstr "Python"
#: ../../using/windows.rst:197
msgid "Include_debug"
msgstr "Include_debug"
#: ../../using/windows.rst:197
msgid "Install debug binaries"
msgstr ""
#: ../../using/windows.rst:199
msgid "Include_dev"
msgstr "Include_dev"
#: ../../using/windows.rst:199
msgid ""
"Install developer headers and libraries. Omitting this may lead to an "
"unusable installation."
msgstr ""
#: ../../using/windows.rst:203
msgid "Include_exe"
msgstr "Include_exe"
#: ../../using/windows.rst:203
msgid ""
"Install :file:`python.exe` and related files. Omitting this may lead to an "
"unusable installation."
msgstr ""
#: ../../using/windows.rst:207
msgid "Include_launcher"
msgstr "Include_launcher"
#: ../../using/windows.rst:207
msgid "Install :ref:`launcher`."
msgstr " :ref:`launcher`"
#: ../../using/windows.rst:209
msgid "InstallLauncherAllUsers"
msgstr "InstallLauncherAllUsers"
#: ../../using/windows.rst:209
msgid ""
"Installs the launcher for all users. Also requires ``Include_launcher`` to "
"be set to 1"
msgstr ""
#: ../../using/windows.rst:213
msgid "Include_lib"
msgstr "Include_lib"
#: ../../using/windows.rst:213
msgid ""
"Install standard library and extension modules. Omitting this may lead to an "
"unusable installation."
msgstr ""
#: ../../using/windows.rst:217
msgid "Include_pip"
msgstr "Include_pip"
#: ../../using/windows.rst:217
msgid "Install bundled pip and setuptools"
msgstr ""
#: ../../using/windows.rst:219
msgid "Include_symbols"
msgstr "Include_symbols"
#: ../../using/windows.rst:219
msgid "Install debugging symbols (``*.pdb``)"
msgstr ""
#: ../../using/windows.rst:221
msgid "Include_tcltk"
msgstr "Include_tcltk"
#: ../../using/windows.rst:221
msgid "Install Tcl/Tk support and IDLE"
msgstr ""
#: ../../using/windows.rst:223
msgid "Include_test"
msgstr "Include_test"
#: ../../using/windows.rst:223
msgid "Install standard library test suite"
msgstr ""
#: ../../using/windows.rst:225
msgid "Include_tools"
msgstr "Include_tools"
#: ../../using/windows.rst:225
msgid "Install utility scripts"
msgstr ""
#: ../../using/windows.rst:227
msgid "LauncherOnly"
msgstr "LauncherOnly"
#: ../../using/windows.rst:227
msgid "Only installs the launcher. This will override most other options."
msgstr ""
#: ../../using/windows.rst:230
msgid "SimpleInstall"
msgstr "SimpleInstall"
#: ../../using/windows.rst:230
msgid "Disable most install UI"
msgstr ""
#: ../../using/windows.rst:232
msgid "SimpleInstallDescription"
msgstr "SimpleInstallDescription"
#: ../../using/windows.rst:232
msgid "A custom message to display when the simplified install UI is used."
msgstr ""
#: ../../using/windows.rst:236
msgid ""
"For example, to silently install a default, system-wide Python installation, "
"you could use the following command (from an elevated command prompt)::"
msgstr ""
#: ../../using/windows.rst:241
msgid ""
"To allow users to easily install a personal copy of Python without the test "
"suite, you could provide a shortcut with the following command. This will "
"display a simplified initial page and disallow customization::"
msgstr ""
#: ../../using/windows.rst:248
msgid ""
"(Note that omitting the launcher also omits file associations, and is only "
"recommended for per-user installs when there is also a system-wide "
"installation that included the launcher.)"
msgstr ""
#: ../../using/windows.rst:252
msgid ""
"The options listed above can also be provided in a file named ``unattend."
"xml`` alongside the executable. This file specifies a list of options and "
"values. When a value is provided as an attribute, it will be converted to a "
"number if possible. Values provided as element text are always left as "
"strings. This example file sets the same options as the previous example:"
msgstr ""
#: ../../using/windows.rst:271
msgid "Installing Without Downloading"
msgstr ""
#: ../../using/windows.rst:273
msgid ""
"As some features of Python are not included in the initial installer "
"download, selecting those features may require an internet connection. To "
"avoid this need, all possible components may be downloaded on-demand to "
"create a complete *layout* that will no longer require an internet "
"connection regardless of the selected features. Note that this download may "
"be bigger than required, but where a large number of installations are going "
"to be performed it is very useful to have a locally cached copy."
msgstr ""
#: ../../using/windows.rst:281
msgid ""
"Execute the following command from Command Prompt to download all possible "
"required files. Remember to substitute ``python-3.9.0.exe`` for the actual "
"name of your installer, and to create layouts in their own directories to "
"avoid collisions between files with the same name."
msgstr ""
#: ../../using/windows.rst:290
msgid ""
"You may also specify the ``/quiet`` option to hide the progress display."
msgstr ""
#: ../../using/windows.rst:293
msgid "Modifying an install"
msgstr ""
#: ../../using/windows.rst:295
msgid ""
"Once Python has been installed, you can add or remove features through the "
"Programs and Features tool that is part of Windows. Select the Python entry "
"and choose \"Uninstall/Change\" to open the installer in maintenance mode."
msgstr ""
#: ../../using/windows.rst:299
msgid ""
"\"Modify\" allows you to add or remove features by modifying the checkboxes "
"- unchanged checkboxes will not install or remove anything. Some options "
"cannot be changed in this mode, such as the install directory; to modify "
"these, you will need to remove and then reinstall Python completely."
msgstr ""
#: ../../using/windows.rst:304
msgid ""
"\"Repair\" will verify all the files that should be installed using the "
"current settings and replace any that have been removed or modified."
msgstr ""
#: ../../using/windows.rst:307
msgid ""
"\"Uninstall\" will remove Python entirely, with the exception of the :ref:"
"`launcher`, which has its own entry in Programs and Features."
msgstr ""
#: ../../using/windows.rst:314
msgid "The Microsoft Store package"
msgstr ""
#: ../../using/windows.rst:318
msgid ""
"The Microsoft Store package is an easily installable Python interpreter that "
"is intended mainly for interactive use, for example, by students."
msgstr ""
#: ../../using/windows.rst:321
msgid ""
"To install the package, ensure you have the latest Windows 10 updates and "
"search the Microsoft Store app for \"Python |version|\". Ensure that the app "
"you select is published by the Python Software Foundation, and install it."
msgstr ""
#: ../../using/windows.rst:326
msgid ""
"Python will always be available for free on the Microsoft Store. If you are "
"asked to pay for it, you have not selected the correct package."
msgstr ""
#: ../../using/windows.rst:329
msgid ""
"After installation, Python may be launched by finding it in Start. "
"Alternatively, it will be available from any Command Prompt or PowerShell "
"session by typing ``python``. Further, pip and IDLE may be used by typing "
"``pip`` or ``idle``. IDLE can also be found in Start."
msgstr ""
#: ../../using/windows.rst:334
msgid ""
"All three commands are also available with version number suffixes, for "
"example, as ``python3.exe`` and ``python3.x.exe`` as well as ``python.exe`` "
"(where ``3.x`` is the specific version you want to launch, such as |"
"version|). Open \"Manage App Execution Aliases\" through Start to select "
"which version of Python is associated with each command. It is recommended "
"to make sure that ``pip`` and ``idle`` are consistent with whichever version "
"of ``python`` is selected."
msgstr ""
#: ../../using/windows.rst:342
msgid ""
"Virtual environments can be created with ``python -m venv`` and activated "
"and used as normal."
msgstr ""
#: ../../using/windows.rst:345
msgid ""
"If you have installed another version of Python and added it to your "
"``PATH`` variable, it will be available as ``python.exe`` rather than the "
"one from the Microsoft Store. To access the new installation, use ``python3."
"exe`` or ``python3.x.exe``."
msgstr ""
#: ../../using/windows.rst:350
msgid ""
"The ``py.exe`` launcher will detect this Python installation, but will "
"prefer installations from the traditional installer."
msgstr ""
#: ../../using/windows.rst:353
msgid ""
"To remove Python, open Settings and use Apps and Features, or else find "
"Python in Start and right-click to select Uninstall. Uninstalling will "
"remove all packages you installed directly into this Python installation, "
"but will not remove any virtual environments"
msgstr ""
#: ../../using/windows.rst:359
msgid "Known issues"
msgstr ""
#: ../../using/windows.rst:362
msgid "Redirection of local data, registry, and temporary paths"
msgstr ""
#: ../../using/windows.rst:364
msgid ""
"Because of restrictions on Microsoft Store apps, Python scripts may not have "
"full write access to shared locations such as :envvar:`TEMP` and the "
"registry. Instead, it will write to a private copy. If your scripts must "
"modify the shared locations, you will need to install the full installer."
msgstr ""
#: ../../using/windows.rst:369
msgid ""
"At runtime, Python will use a private copy of well-known Windows folders and "
"the registry. For example, if the environment variable :envvar:`%APPDATA%` "
"is :file:`c:\\\\Users\\\\\\\\AppData\\\\`, then when writing to :file:"
"`C:\\\\Users\\\\\\\\AppData\\\\Local` will write to :file:`C:\\"
"\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\"
"\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\"
"\\`."
msgstr ""
#: ../../using/windows.rst:374
msgid ""
"When reading files, Windows will return the file from the private folder, or "
"if that does not exist, the real Windows directory. For example reading :"
"file:`C:\\\\Windows\\\\System32` returns the contents of :file:`C:\\"
"\\Windows\\\\System32` plus the contents of :file:`C:\\\\Program Files\\"
"\\WindowsApps\\\\package_name\\\\VFS\\\\SystemX86`."
msgstr ""
#: ../../using/windows.rst:378
msgid ""
"You can find the real path of any existing file using :func:`os.path."
"realpath`:"
msgstr ""
#: ../../using/windows.rst:387
msgid "When writing to the Windows Registry, the following behaviors exist:"
msgstr ""
#: ../../using/windows.rst:389
msgid ""
"Reading from ``HKLM\\\\Software`` is allowed and results are merged with "
"the :file:`registry.dat` file in the package."
msgstr ""
#: ../../using/windows.rst:390
msgid ""
"Writing to ``HKLM\\\\Software`` is not allowed if the corresponding key/"
"value exists, i.e. modifying existing keys."
msgstr ""
#: ../../using/windows.rst:391
msgid ""
"Writing to ``HKLM\\\\Software`` is allowed as long as a corresponding key/"
"value does not exist in the package and the user has the correct access "
"permissions."
msgstr ""
#: ../../using/windows.rst:394
msgid ""
"For more detail on the technical basis for these limitations, please consult "
"Microsoft's documentation on packaged full-trust apps, currently available "
"at `docs.microsoft.com/en-us/windows/msix/desktop/desktop-to-uwp-behind-the-"
"scenes `_"
msgstr ""
#: ../../using/windows.rst:403
msgid "The nuget.org packages"
msgstr "nuget.org "
#: ../../using/windows.rst:407
msgid ""
"The 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. While nuget is \"the package manager for .NET\", it also "
"works perfectly fine for packages containing build-time tools."
msgstr ""
#: ../../using/windows.rst:412
msgid ""
"Visit `nuget.org `_ for the most up-to-date "
"information on using nuget. What follows is a summary that is sufficient for "
"Python developers."
msgstr ""
#: ../../using/windows.rst:416
msgid ""
"The ``nuget.exe`` command line tool may be downloaded directly from "
"``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With "
"the tool, the latest version of Python for 64-bit or 32-bit machines is "
"installed using::"
msgstr ""
#: ../../using/windows.rst:424
msgid ""
"To select a particular version, add a ``-Version 3.x.y``. The output "
"directory may be changed from ``.``, and the package will be installed into "
"a subdirectory. By default, the subdirectory is named the same as the "
"package, and without the ``-ExcludeVersion`` option this name will include "
"the specific version installed. Inside the subdirectory is a ``tools`` "
"directory that contains the Python installation:"
msgstr ""
#: ../../using/windows.rst:441
msgid ""
"In general, nuget packages are not upgradeable, and newer versions should be "
"installed side-by-side and referenced using the full path. Alternatively, "
"delete the package directory manually and install it again. Many CI systems "
"will do this automatically if they do not preserve files between builds."
msgstr ""
#: ../../using/windows.rst:446
msgid ""
"Alongside the ``tools`` directory is a ``build\\native`` directory. This "
"contains a MSBuild properties file ``python.props`` that can be used in a C+"
"+ project to reference the Python install. Including the settings will "
"automatically use the headers and import libraries in your build."
msgstr ""
#: ../../using/windows.rst:451
msgid ""
"The package information pages on nuget.org are `www.nuget.org/packages/"
"python `_ for the 64-bit version and "
"`www.nuget.org/packages/pythonx86 `_ for the 32-bit version."
msgstr ""
#: ../../using/windows.rst:460
msgid "The embeddable package"
msgstr ""
#: ../../using/windows.rst:464
msgid ""
"The embedded distribution is a ZIP file containing a minimal Python "
"environment. It is intended for acting as part of another application, "
"rather than being directly accessed by end-users."
msgstr ""
#: ../../using/windows.rst:468
msgid ""
"When extracted, the embedded distribution is (almost) fully isolated from "
"the user's system, including environment variables, system registry "
"settings, and installed packages. The standard library is included as pre-"
"compiled and optimized ``.pyc`` files in a ZIP, and ``python3.dll``, "
"``python37.dll``, ``python.exe`` and ``pythonw.exe`` are all provided. Tcl/"
"tk (including all dependents, such as Idle), pip and the Python "
"documentation are not included."
msgstr ""
#: ../../using/windows.rst:477
msgid ""
"The embedded distribution does not include the `Microsoft C Runtime `_ and it is the responsibility of the "
"application installer to provide this. The runtime may have already been "
"installed on a user's system previously or automatically via Windows Update, "
"and can be detected by finding ``ucrtbase.dll`` in the system directory."
msgstr ""
#: ../../using/windows.rst:484
msgid ""
"Third-party packages should be installed by the application installer "
"alongside the embedded distribution. Using pip to manage dependencies as for "
"a regular Python installation is not supported with this distribution, "
"though with some care it may be possible to include and use pip for "
"automatic updates. In general, third-party packages should be treated as "
"part of the application (\"vendoring\") so that the developer can ensure "
"compatibility with newer versions before providing updates to users."
msgstr ""
#: ../../using/windows.rst:492
msgid ""
"The two recommended use cases for this distribution are described below."
msgstr ""
#: ../../using/windows.rst:495
msgid "Python Application"
msgstr ""
#: ../../using/windows.rst:497
msgid ""
"An application written in Python does not necessarily require users to be "
"aware of that fact. The embedded distribution may be used in this case to "
"include a private version of Python in an install package. Depending on how "
"transparent it should be (or conversely, how professional it should appear), "
"there are two options."
msgstr ""
#: ../../using/windows.rst:503
msgid ""
"Using a specialized executable as a launcher requires some coding, but "
"provides the most transparent experience for users. With a customized "
"launcher, there are no obvious indications that the program is running on "
"Python: icons can be customized, company and version information can be "
"specified, and file associations behave properly. In most cases, a custom "
"launcher should simply be able to call ``Py_Main`` with a hard-coded command "
"line."
msgstr ""
#: ../../using/windows.rst:510
msgid ""
"The simpler approach is to provide a batch file or generated shortcut that "
"directly calls the ``python.exe`` or ``pythonw.exe`` with the required "
"command-line arguments. In this case, the application will appear to be "
"Python and not its actual name, and users may have trouble distinguishing it "
"from other running Python processes or file associations."
msgstr ""
#: ../../using/windows.rst:516
msgid ""
"With the latter approach, packages should be installed as directories "
"alongside the Python executable to ensure they are available on the path. "
"With the specialized launcher, packages can be located in other locations as "
"there is an opportunity to specify the search path before launching the "
"application."
msgstr ""
#: ../../using/windows.rst:522
msgid "Embedding Python"
msgstr " Python"
#: ../../using/windows.rst:524
msgid ""
"Applications written in native code often require some form of scripting "
"language, and the embedded Python distribution can be used for this purpose. "
"In general, the majority of the application is in native code, and some part "
"will either invoke ``python.exe`` or directly use ``python3.dll``. For "
"either case, extracting the embedded distribution to a subdirectory of the "
"application installation is sufficient to provide a loadable Python "
"interpreter."
msgstr ""
#: ../../using/windows.rst:531
msgid ""
"As with the application use, packages can be installed to any location as "
"there is an opportunity to specify search paths before initializing the "
"interpreter. Otherwise, there is no fundamental differences between using "
"the embedded distribution and a regular installation."
msgstr ""
#: ../../using/windows.rst:538
msgid "Alternative bundles"
msgstr ""
#: ../../using/windows.rst:540
msgid ""
"Besides the standard CPython distribution, there are modified packages "
"including additional functionality. The following is a list of popular "
"versions and their key features:"
msgstr ""
#: ../../using/windows.rst:545
msgid "`ActivePython `_"
msgstr "`ActivePython `_"
#: ../../using/windows.rst:545
msgid "Installer with multi-platform compatibility, documentation, PyWin32"
msgstr ""
#: ../../using/windows.rst:549
msgid "`Anaconda `_"
msgstr "`Anaconda `_"
#: ../../using/windows.rst:548
msgid ""
"Popular scientific modules (such as numpy, scipy and pandas) and the "
"``conda`` package manager."
msgstr ""
#: ../../using/windows.rst:555
msgid "`Enthought Deployment Manager `_"
msgstr "`Enthought Deployment Manager `_"
#: ../../using/windows.rst:552
msgid "\"The Next Generation Python Environment and Package Manager\"."
msgstr ""
#: ../../using/windows.rst:554
msgid ""
"Previously Enthought provided Canopy, but it `reached end of life in 2016 "
"`_."
msgstr ""
#: ../../using/windows.rst:559
msgid "`WinPython `_"
msgstr "`WinPython `_"
#: ../../using/windows.rst:558
msgid ""
"Windows-specific distribution with prebuilt scientific packages and tools "
"for building packages."
msgstr ""
#: ../../using/windows.rst:561
msgid ""
"Note that these packages may not include the latest versions of Python or "
"other libraries, and are not maintained or supported by the core Python team."
msgstr ""
#: ../../using/windows.rst:567
msgid "Configuring Python"
msgstr " Python"
#: ../../using/windows.rst:569
msgid ""
"To run Python conveniently from a command prompt, you might consider "
"changing some default environment variables in Windows. While the installer "
"provides an option to configure the PATH and PATHEXT variables for you, this "
"is only reliable for a single, system-wide installation. If you regularly "
"use multiple versions of Python, consider using the :ref:`launcher`."
msgstr ""
#: ../../using/windows.rst:579
msgid "Excursus: Setting environment variables"
msgstr ""
#: ../../using/windows.rst:581
msgid ""
"Windows allows environment variables to be configured permanently at both "
"the User level and the System level, or temporarily in a command prompt."
msgstr ""
#: ../../using/windows.rst:584
msgid ""
"To temporarily set environment variables, open Command Prompt and use the :"
"command:`set` command:"
msgstr ""
#: ../../using/windows.rst:593
msgid ""
"These changes will apply to any further commands executed in that console, "
"and will be inherited by any applications started from the console."
msgstr ""
#: ../../using/windows.rst:596
msgid ""
"Including the variable name within percent signs will expand to the existing "
"value, allowing you to add your new value at either the start or the end. "
"Modifying :envvar:`PATH` by adding the directory containing :program:`python."
"exe` to the start is a common way to ensure the correct version of Python is "
"launched."
msgstr ""
#: ../../using/windows.rst:602
msgid ""
"To permanently modify the default environment variables, click Start and "
"search for 'edit environment variables', or open System properties, :"
"guilabel:`Advanced system settings` and click the :guilabel:`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)."
msgstr ""
#: ../../using/windows.rst:611
msgid ""
"Windows will concatenate User variables *after* System variables, which may "
"cause unexpected results when modifying :envvar:`PATH`."
msgstr ""
#: ../../using/windows.rst:614
msgid ""
"The :envvar:`PYTHONPATH` variable is used by all versions of Python, so you "
"should not permanently configure it unless the listed paths only include "
"code that is compatible with all of your installed Python versions."
msgstr ""
#: ../../using/windows.rst:622
msgid ""
"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-"
"variables"
msgstr ""
"https://docs.microsoft.com/en-us/windows/win32/procthread/environment-"
"variables"
#: ../../using/windows.rst:622
msgid "Overview of environment variables on Windows"
msgstr "Windows "
#: ../../using/windows.rst:625
msgid ""
"https://docs.microsoft.com/en-us/windows-server/administration/windows-"
"commands/set_1"
msgstr ""
"https://docs.microsoft.com/en-us/windows-server/administration/windows-"
"commands/set_1"
#: ../../using/windows.rst:625
msgid "The ``set`` command, for temporarily modifying environment variables"
msgstr ""
#: ../../using/windows.rst:627
msgid ""
"https://docs.microsoft.com/en-us/windows-server/administration/windows-"
"commands/setx"
msgstr ""
"https://docs.microsoft.com/en-us/windows-server/administration/windows-"
"commands/setx"
#: ../../using/windows.rst:628
msgid "The ``setx`` command, for permanently modifying environment variables"
msgstr ""
#: ../../using/windows.rst:634
msgid "Finding the Python executable"
msgstr ""
#: ../../using/windows.rst:638
msgid ""
"Besides using the automatically created start menu entry for the Python "
"interpreter, you might want to start Python in the command prompt. The "
"installer has an option to set that up for you."
msgstr ""
#: ../../using/windows.rst:642
msgid ""
"On the first page of the installer, an option labelled \"Add Python to "
"PATH\" may be selected to have the installer add the install location into "
"the :envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also "
"added. This allows you to type :command:`python` to run the interpreter, "
"and :command:`pip` for the package installer. Thus, you can also execute "
"your scripts with command line options, see :ref:`using-on-cmdline` "
"documentation."
msgstr ""
#: ../../using/windows.rst:649
msgid ""
"If you don't enable this option at install time, you can always re-run the "
"installer, select Modify, and enable it. Alternatively, you can manually "
"modify the :envvar:`PATH` using the directions in :ref:`setting-envvars`. "
"You need to set your :envvar:`PATH` environment variable to include the "
"directory of your Python installation, delimited by a semicolon from other "
"entries. An example variable could look like this (assuming the first two "
"entries already existed)::"
msgstr ""
#: ../../using/windows.rst:662
msgid "UTF-8 mode"
msgstr "UTF-8 "
#: ../../using/windows.rst:666
msgid ""
"Windows still uses legacy encodings for the system encoding (the ANSI Code "
"Page). Python uses it for the default encoding of text files (e.g. :func:"
"`locale.getencoding`)."
msgstr ""
#: ../../using/windows.rst:670
msgid ""
"This may cause issues because UTF-8 is widely used on the internet and most "
"Unix systems, including WSL (Windows Subsystem for Linux)."
msgstr ""
#: ../../using/windows.rst:673
msgid ""
"You can use the :ref:`Python UTF-8 Mode ` to change the default "
"text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode ` via the ``-X utf8`` command line option, or the ``PYTHONUTF8=1`` "
"environment variable. See :envvar:`PYTHONUTF8` for enabling UTF-8 mode, "
"and :ref:`setting-envvars` for how to modify environment variables."
msgstr ""
#: ../../using/windows.rst:679
msgid ""
"When the :ref:`Python UTF-8 Mode ` is enabled, you can still use "
"the system encoding (the ANSI Code Page) via the \"mbcs\" codec."
msgstr ""
#: ../../using/windows.rst:682
msgid ""
"Note that adding ``PYTHONUTF8=1`` to the default environment variables will "
"affect all Python 3.7+ applications on your system. If you have any Python "
"3.7+ applications which rely on the legacy system encoding, it is "
"recommended to set the environment variable temporarily or use the ``-X "
"utf8`` command line option."
msgstr ""
#: ../../using/windows.rst:689
msgid ""
"Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows "
"for:"
msgstr ""
#: ../../using/windows.rst:692
msgid "Console I/O including standard I/O (see :pep:`528` for details)."
msgstr ""
#: ../../using/windows.rst:693
msgid ""
"The :term:`filesystem encoding ` "
"(see :pep:`529` for details)."
msgstr ""
#: ../../using/windows.rst:700
msgid "Python Launcher for Windows"
msgstr ""
#: ../../using/windows.rst:704
msgid ""
"The Python launcher for Windows is a utility which aids in locating and "
"executing of different Python versions. It allows scripts (or the command-"
"line) to indicate a preference for a specific Python version, and will "
"locate and execute that version."
msgstr ""
#: ../../using/windows.rst:709
msgid ""
"Unlike the :envvar:`PATH` variable, the launcher will correctly select the "
"most appropriate version of Python. It will prefer per-user installations "
"over system-wide ones, and orders by language version rather than using the "
"most recently installed version."
msgstr ""
#: ../../using/windows.rst:714
msgid "The launcher was originally specified in :pep:`397`."
msgstr ""
#: ../../using/windows.rst:717
msgid "Getting started"
msgstr ""
#: ../../using/windows.rst:720
msgid "From the command-line"
msgstr ""
#: ../../using/windows.rst:724
msgid ""
"System-wide installations of Python 3.3 and later will put the launcher on "
"your :envvar:`PATH`. The launcher is compatible with all available versions "
"of Python, so it does not matter which version is installed. To check that "
"the launcher is available, execute the following command in Command Prompt::"
msgstr ""
#: ../../using/windows.rst:731
msgid ""
"You should find that the latest version of Python you have installed is "
"started - it can be exited as normal, and any additional command-line "
"arguments specified will be sent directly to Python."
msgstr ""
#: ../../using/windows.rst:735
msgid ""
"If you have multiple versions of Python installed (e.g., 3.7 and |version|) "
"you will have noticed that Python |version| was started - to launch Python "
"3.7, try the command::"
msgstr ""
#: ../../using/windows.rst:741
msgid ""
"If you want the latest version of Python 2 you have installed, try the "
"command::"
msgstr ""
#: ../../using/windows.rst:746
msgid ""
"If you see the following error, you do not have the launcher installed::"
msgstr ""
#: ../../using/windows.rst:751
msgid "The command::"
msgstr ""
"\n"
"\n"
"::"
#: ../../using/windows.rst:755
msgid "displays the currently installed version(s) of Python."
msgstr ""
#: ../../using/windows.rst:757
msgid ""
"The ``-x.y`` argument is the short form of the ``-V:Company/Tag`` argument, "
"which allows selecting a specific Python runtime, including those that may "
"have come from somewhere other than python.org. Any runtime registered by "
"following :pep:`514` will be discoverable. The ``--list`` command lists all "
"available runtimes using the ``-V:`` format."
msgstr ""
#: ../../using/windows.rst:763
msgid ""
"When using the ``-V:`` argument, specifying the Company will limit selection "
"to runtimes from that provider, while specifying only the Tag will select "
"from all providers. Note that omitting the slash implies a tag::"
msgstr ""
#: ../../using/windows.rst:776
msgid ""
"The short form of the argument (``-3``) only ever selects from core Python "
"releases, and not other distributions. However, the longer form (``-V:3``) "
"will select from any."
msgstr ""
#: ../../using/windows.rst:780
msgid ""
"The Company is matched on the full string, case-insenitive. The Tag is "
"matched oneither the full string, or a prefix, provided the next character "
"is a dot or a hyphen. This allows ``-V:3.1`` to match ``3.1-32``, but not "
"``3.10``. Tags are sorted using numerical ordering (``3.10`` is newer than "
"``3.1``), but are compared using text (``-V:3.01`` does not match ``3.1``)."
msgstr ""
#: ../../using/windows.rst:788
msgid "Virtual environments"
msgstr "Virtual environment"
#: ../../using/windows.rst:792
msgid ""
"If the launcher is run with no explicit Python version specification, and a "
"virtual environment (created with the standard library :mod:`venv` module or "
"the external ``virtualenv`` tool) active, the launcher will run the virtual "
"environment's interpreter rather than the global one. To run the global "
"interpreter, either deactivate the virtual environment, or explicitly "
"specify the global Python version."
msgstr ""
#: ../../using/windows.rst:800
msgid "From a script"
msgstr ""
#: ../../using/windows.rst:802
msgid ""
"Let's create a test Python script - create a file called ``hello.py`` with "
"the following contents"
msgstr ""
#: ../../using/windows.rst:811
msgid "From the directory in which hello.py lives, execute the command::"
msgstr ""
#: ../../using/windows.rst:815
msgid ""
"You should notice the version number of your latest Python 2.x installation "
"is printed. Now try changing the first line to be:"
msgstr ""
#: ../../using/windows.rst:822
msgid ""
"Re-executing the command should now print the latest Python 3.x information. "
"As with the above command-line examples, you can specify a more explicit "
"version qualifier. Assuming you have Python 3.7 installed, try changing the "
"first line to ``#! python3.7`` and you should find the 3.7 version "
"information printed."
msgstr ""
#: ../../using/windows.rst:828
msgid ""
"Note that unlike interactive use, a bare \"python\" will use the latest "
"version of Python 2.x that you have installed. This is for backward "
"compatibility and for compatibility with Unix, where the command ``python`` "
"typically refers to Python 2."
msgstr ""
#: ../../using/windows.rst:834
msgid "From file associations"
msgstr ""
#: ../../using/windows.rst:836
msgid ""
"The launcher should have been associated with Python files (i.e. ``.py``, ``."
"pyw``, ``.pyc`` files) when it was installed. This means that when you "
"double-click on one of these files from Windows explorer the launcher will "
"be used, and therefore you can use the same facilities described above to "
"have the script specify the version which should be used."
msgstr ""
#: ../../using/windows.rst:842
msgid ""
"The key benefit of this is that a single launcher can support multiple "
"Python versions at the same time depending on the contents of the first line."
msgstr ""
#: ../../using/windows.rst:846
msgid "Shebang Lines"
msgstr ""
#: ../../using/windows.rst:848
msgid ""
"If the first line of a script file starts with ``#!``, it is known as a "
"\"shebang\" line. Linux and other Unix like operating systems have native "
"support for such lines and they are commonly used on such systems to "
"indicate how a script should be executed. This launcher allows the same "
"facilities to be used with Python scripts on Windows and the examples above "
"demonstrate their use."
msgstr ""
#: ../../using/windows.rst:855
msgid ""
"To allow shebang lines in Python scripts to be portable between Unix and "
"Windows, this launcher supports a number of 'virtual' commands to specify "
"which interpreter to use. The supported virtual commands are:"
msgstr ""
#: ../../using/windows.rst:859
msgid "``/usr/bin/env``"
msgstr "``/usr/bin/env``"
#: ../../using/windows.rst:860
msgid "``/usr/bin/python``"
msgstr "``/usr/bin/python``"
#: ../../using/windows.rst:861
msgid "``/usr/local/bin/python``"
msgstr "``/usr/local/bin/python``"
#: ../../using/windows.rst:862
msgid "``python``"
msgstr "``python``"
#: ../../using/windows.rst:864
msgid "For example, if the first line of your script starts with"
msgstr ""
#: ../../using/windows.rst:870
msgid ""
"The default Python will be located and used. As many Python scripts written "
"to work on Unix will already have this line, you should find these scripts "
"can be used by the launcher without modification. If you are writing a new "
"script on Windows which you hope will be useful on Unix, you should use one "
"of the shebang lines starting with ``/usr``."
msgstr ""
#: ../../using/windows.rst:876
msgid ""
"Any of the above virtual commands can be suffixed with an explicit version "
"(either just the major version, or the major and minor version). Furthermore "
"the 32-bit version can be requested by adding \"-32\" after the minor "
"version. I.e. ``/usr/bin/python3.7-32`` will request usage of the 32-bit "
"python 3.7."
msgstr ""
#: ../../using/windows.rst:884
msgid ""
"Beginning with python launcher 3.7 it is possible to request 64-bit version "
"by the \"-64\" suffix. Furthermore it is possible to specify a major and "
"architecture without minor (i.e. ``/usr/bin/python3-64``)."
msgstr ""
#: ../../using/windows.rst:890
msgid ""
"The \"-64\" suffix is deprecated, and now implies \"any architecture that is "
"not provably i386/32-bit\". To request a specific environment, use the new "
"``-V:`` argument with the complete tag."
msgstr ""
#: ../../using/windows.rst:894
msgid ""
"The ``/usr/bin/env`` form of shebang line has one further special property. "
"Before looking for installed Python interpreters, this form will search the "
"executable :envvar:`PATH` for a Python executable matching the name provided "
"as the first argument. This corresponds to the behaviour of the Unix ``env`` "
"program, which performs a :envvar:`PATH` search. If an executable matching "
"the first argument after the ``env`` command cannot be found, but the "
"argument starts with ``python``, it will be handled as described for the "
"other virtual commands. The environment variable :envvar:"
"`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search "
"of :envvar:`PATH`."
msgstr ""
#: ../../using/windows.rst:905
msgid ""
"Shebang lines that do not match any of these patterns are looked up in the "
"``[commands]`` section of the launcher's :ref:`.INI file `. "
"This may be used to handle certain commands in a way that makes sense for "
"your system. The name of the command must be a single argument (no spaces in "
"the shebang executable), and the value substituted is the full path to the "
"executable (additional arguments specified in the .INI will be quoted as "
"part of the filename)."
msgstr ""
#: ../../using/windows.rst:918
msgid ""
"Any commands not found in the .INI file are treated as **Windows** "
"executable paths that are absolute or relative to the directory containing "
"the script file. This is a convenience for Windows-only scripts, such as "
"those generated by an installer, since the behavior is not compatible with "
"Unix-style shells. These paths may be quoted, and may include multiple "
"arguments, after which the path to the script and any additional arguments "
"will be appended."
msgstr ""
#: ../../using/windows.rst:927
msgid "Arguments in shebang lines"
msgstr ""
#: ../../using/windows.rst:929
msgid ""
"The shebang lines can also specify additional options to be passed to the "
"Python interpreter. For example, if you have a shebang line:"
msgstr ""
#: ../../using/windows.rst:936
msgid "Then Python will be started with the ``-v`` option"
msgstr ""
#: ../../using/windows.rst:939
msgid "Customization"
msgstr ""
#: ../../using/windows.rst:944
msgid "Customization via INI files"
msgstr ""
#: ../../using/windows.rst:946
msgid ""
"Two .ini files will be searched by the launcher - ``py.ini`` in the current "
"user's application data directory (``%LOCALAPPDATA%`` or ``$env:"
"LocalAppData``) and ``py.ini`` in the same directory as the launcher. The "
"same .ini files are used for both the 'console' version of the launcher (i."
"e. py.exe) and for the 'windows' version (i.e. pyw.exe)."
msgstr ""
#: ../../using/windows.rst:952
msgid ""
"Customization specified in the \"application directory\" will have "
"precedence over the one next to the executable, so a user, who may not have "
"write access to the .ini file next to the launcher, can override commands in "
"that global .ini file."
msgstr ""
#: ../../using/windows.rst:957
msgid "Customizing default Python versions"
msgstr ""
#: ../../using/windows.rst:959
msgid ""
"In some cases, a version qualifier can be included in a command to dictate "
"which version of Python will be used by the command. A version qualifier "
"starts with a major version number and can optionally be followed by a "
"period ('.') and a minor version specifier. Furthermore it is possible to "
"specify if a 32 or 64 bit implementation shall be requested by adding "
"\"-32\" or \"-64\"."
msgstr ""
#: ../../using/windows.rst:965
msgid ""
"For example, a shebang line of ``#!python`` has no version qualifier, while "
"``#!python3`` has a version qualifier which specifies only a major version."
msgstr ""
#: ../../using/windows.rst:968
msgid ""
"If no version qualifiers are found in a command, the environment variable :"
"envvar:`PY_PYTHON` can be set to specify the default version qualifier. If "
"it is not set, the default is \"3\". The variable can specify any value that "
"may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or "
"\"3.7-64\". (Note that the \"-64\" option is only available with the "
"launcher included with Python 3.7 or newer.)"
msgstr ""
#: ../../using/windows.rst:975
msgid ""
"If no minor version qualifiers are found, the environment variable "
"``PY_PYTHON{major}`` (where ``{major}`` is the current major version "
"qualifier as determined above) can be set to specify the full version. If no "
"such option is found, the launcher will enumerate the installed Python "
"versions and use the latest minor release found for the major version, which "
"is likely, although not guaranteed, to be the most recently installed "
"version in that family."
msgstr ""
#: ../../using/windows.rst:983
msgid ""
"On 64-bit Windows with both 32-bit and 64-bit implementations of the same "
"(major.minor) Python version installed, the 64-bit version will always be "
"preferred. This will be true for both 32-bit and 64-bit implementations of "
"the launcher - a 32-bit launcher will prefer to execute a 64-bit Python "
"installation of the specified version if available. This is so the behavior "
"of the launcher can be predicted knowing only what versions are installed on "
"the PC and without regard to the order in which they were installed (i.e., "
"without knowing whether a 32 or 64-bit version of Python and corresponding "
"launcher was installed last). As noted above, an optional \"-32\" or \"-64\" "
"suffix can be used on a version specifier to change this behaviour."
msgstr ""
#: ../../using/windows.rst:994
msgid "Examples:"
msgstr ""
#: ../../using/windows.rst:996
msgid ""
"If no relevant options are set, the commands ``python`` and ``python2`` will "
"use the latest Python 2.x version installed and the command ``python3`` will "
"use the latest Python 3.x installed."
msgstr ""
#: ../../using/windows.rst:1000
msgid ""
"The command ``python3.7`` will not consult any options at all as the "
"versions are fully specified."
msgstr ""
#: ../../using/windows.rst:1003
msgid ""
"If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use "
"the latest installed Python 3 version."
msgstr ""
#: ../../using/windows.rst:1006
msgid ""
"If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit "
"implementation of 3.7 whereas the command ``python3`` will use the latest "
"installed Python (PY_PYTHON was not considered at all as a major version was "
"specified.)"
msgstr ""
#: ../../using/windows.rst:1011
msgid ""
"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and "
"``python3`` will both use specifically 3.7"
msgstr ""
#: ../../using/windows.rst:1014
msgid ""
"In addition to environment variables, the same settings can be configured in "
"the .INI file used by the launcher. The section in the INI file is called "
"``[defaults]`` and the key name will be the same as the environment "
"variables without the leading ``PY_`` prefix (and note that the key names in "
"the INI file are case insensitive.) The contents of an environment variable "
"will override things specified in the INI file."
msgstr ""
#: ../../using/windows.rst:1021
msgid "For example:"
msgstr ""
#: ../../using/windows.rst:1023
msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:"
msgstr ""
#: ../../using/windows.rst:1030
msgid ""
"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file "
"containing:"
msgstr ""
#: ../../using/windows.rst:1040
msgid "Diagnostics"
msgstr ""
#: ../../using/windows.rst:1042
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_DEBUG` is set (to any value), "
"the launcher will print diagnostic information to stderr (i.e. to the "
"console). While this information manages to be simultaneously verbose *and* "
"terse, it should allow you to see what versions of Python were located, why "
"a particular version was chosen and the exact command-line used to execute "
"the target Python. It is primarily intended for testing and debugging."
msgstr ""
#: ../../using/windows.rst:1050
msgid "Dry Run"
msgstr ""
#: ../../using/windows.rst:1052
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_DRYRUN` is set (to any "
"value), the launcher will output the command it would have run, but will not "
"actually launch Python. This may be useful for tools that want to use the "
"launcher to detect and then launch Python directly. Note that the command "
"written to standard output is always encoded using UTF-8, and may not render "
"correctly in the console."
msgstr ""
#: ../../using/windows.rst:1060
msgid "Install on demand"
msgstr ""
#: ../../using/windows.rst:1062
msgid ""
"If an environment variable :envvar:`PYLAUNCHER_ALLOW_INSTALL` is set (to any "
"value), and the requested Python version is not installed but is available "
"on the Microsoft Store, the launcher will attempt to install it. This may "
"require user interaction to complete, and you may need to run the command "
"again."
msgstr ""
#: ../../using/windows.rst:1067
msgid ""
"An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the "
"launcher to always try to install Python, even if it is detected. This is "
"mainly intended for testing (and should be used with :envvar:"
"`PYLAUNCHER_DRYRUN`)."
msgstr ""
#: ../../using/windows.rst:1072
msgid "Return codes"
msgstr ""
#: ../../using/windows.rst:1074
msgid ""
"The following exit codes may be returned by the Python launcher. "
"Unfortunately, there is no way to distinguish these from the exit code of "
"Python itself."
msgstr ""
#: ../../using/windows.rst:1077
msgid ""
"The names of codes are as used in the sources, and are only for reference. "
"There is no way to access or resolve them apart from reading this page. "
"Entries are listed in alphabetical order of names."
msgstr ""
#: ../../using/windows.rst:1082
msgid "Value"
msgstr ""
#: ../../using/windows.rst:1084
msgid "RC_BAD_VENV_CFG"
msgstr "RC_BAD_VENV_CFG"
#: ../../using/windows.rst:1084
msgid "107"
msgstr "107"
#: ../../using/windows.rst:1084
msgid "A :file:`pyvenv.cfg` was found but is corrupt."
msgstr ""
#: ../../using/windows.rst:1086
msgid "RC_CREATE_PROCESS"
msgstr "RC_CREATE_PROCESS"
#: ../../using/windows.rst:1086
msgid "101"
msgstr "101"
#: ../../using/windows.rst:1086
msgid "Failed to launch Python."
msgstr ""
#: ../../using/windows.rst:1088
msgid "RC_INSTALLING"
msgstr "RC_INSTALLING"
#: ../../using/windows.rst:1088
msgid "111"
msgstr "111"
#: ../../using/windows.rst:1088
msgid ""
"An install was started, but the command will need to be re-run after it "
"completes."
msgstr ""
#: ../../using/windows.rst:1091
msgid "RC_INTERNAL_ERROR"
msgstr "RC_INTERNAL_ERROR"
#: ../../using/windows.rst:1091
msgid "109"
msgstr "109"
#: ../../using/windows.rst:1091
msgid "Unexpected error. Please report a bug."
msgstr ""
#: ../../using/windows.rst:1093
msgid "RC_NO_COMMANDLINE"
msgstr "RC_NO_COMMANDLINE"
#: ../../using/windows.rst:1093
msgid "108"
msgstr "108"
#: ../../using/windows.rst:1093
msgid "Unable to obtain command line from the operating system."
msgstr ""
#: ../../using/windows.rst:1096
msgid "RC_NO_PYTHON"
msgstr "RC_NO_PYTHON"
#: ../../using/windows.rst:1096
msgid "103"
msgstr "103"
#: ../../using/windows.rst:1096
msgid "Unable to locate the requested version."
msgstr ""
#: ../../using/windows.rst:1098
msgid "RC_NO_VENV_CFG"
msgstr "RC_NO_VENV_CFG"
#: ../../using/windows.rst:1098
msgid "106"
msgstr "106"
#: ../../using/windows.rst:1098
msgid "A :file:`pyvenv.cfg` was required but not found."
msgstr ""
#: ../../using/windows.rst:1106
msgid "Finding modules"
msgstr ""
#: ../../using/windows.rst:1108
msgid ""
"These notes supplement the description at :ref:`sys-path-init` with detailed "
"Windows notes."
msgstr ""
#: ../../using/windows.rst:1111
msgid ""
"When no ``._pth`` file is found, this is how :data:`sys.path` is populated "
"on Windows:"
msgstr ""
#: ../../using/windows.rst:1114
msgid ""
"An empty entry is added at the start, which corresponds to the current "
"directory."
msgstr ""
#: ../../using/windows.rst:1117
msgid ""
"If the environment variable :envvar:`PYTHONPATH` exists, as described in :"
"ref:`using-on-envvars`, its entries are added next. Note that on Windows, "
"paths in this variable must be separated by semicolons, to distinguish them "
"from the colon used in drive identifiers (``C:\\`` etc.)."
msgstr ""
#: ../../using/windows.rst:1122
msgid ""
"Additional \"application paths\" can be added in the registry as subkeys of :"
"samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under "
"both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. Subkeys "
"which have semicolon-delimited path strings as their default value will "
"cause each path to be added to :data:`sys.path`. (Note that all known "
"installers only use HKLM, so HKCU is typically empty.)"
msgstr ""
#: ../../using/windows.rst:1129
msgid ""
"If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as "
"\"Python Home\". Otherwise, the path of the main Python executable is used "
"to locate a \"landmark file\" (either ``Lib\\os.py`` or ``pythonXY.zip``) to "
"deduce the \"Python Home\". If a Python home is found, the relevant sub-"
"directories added to :data:`sys.path` (``Lib``, ``plat-win``, etc) are based "
"on that folder. Otherwise, the core Python path is constructed from the "
"PythonPath stored in the registry."
msgstr ""
#: ../../using/windows.rst:1137
msgid ""
"If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified "
"in the environment, and no registry entries can be found, a default path "
"with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)."
msgstr ""
#: ../../using/windows.rst:1141
msgid ""
"If a ``pyvenv.cfg`` file is found alongside the main executable or in the "
"directory one level above the executable, the following variations apply:"
msgstr ""
#: ../../using/windows.rst:1144
msgid ""
"If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this "
"path is used instead of the path to the main executable when deducing the "
"home location."
msgstr ""
#: ../../using/windows.rst:1148
msgid "The end result of all this is:"
msgstr ""
#: ../../using/windows.rst:1150
msgid ""
"When running :file:`python.exe`, or any other .exe in the main Python "
"directory (either an installed version, or directly from the PCbuild "
"directory), the core path is deduced, and the core paths in the registry are "
"ignored. Other \"application paths\" in the registry are always read."
msgstr ""
#: ../../using/windows.rst:1155
msgid ""
"When Python is hosted in another .exe (different directory, embedded via "
"COM, etc), the \"Python Home\" will not be deduced, so the core path from "
"the registry is used. Other \"application paths\" in the registry are "
"always read."
msgstr ""
#: ../../using/windows.rst:1159
msgid ""
"If Python can't find its home and there are no registry value (frozen .exe, "
"some very strange installation setup) you get a path with some default, but "
"relative, paths."
msgstr ""
#: ../../using/windows.rst:1163
msgid ""
"For those who want to bundle Python into their application or distribution, "
"the following advice will prevent conflicts with other installations:"
msgstr ""
#: ../../using/windows.rst:1166
msgid ""
"Include a ``._pth`` file alongside your executable containing the "
"directories to include. This will ignore paths listed in the registry and "
"environment variables, and also ignore :mod:`site` unless ``import site`` is "
"listed."
msgstr ""
#: ../../using/windows.rst:1171
msgid ""
"If you are loading :file:`python3.dll` or :file:`python37.dll` in your own "
"executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:"
"`Py_SetProgramName` before :c:func:`Py_Initialize`."
msgstr ""
#: ../../using/windows.rst:1175
msgid ""
"Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` "
"before launching :file:`python.exe` from your application."
msgstr ""
#: ../../using/windows.rst:1178
msgid ""
"If you cannot use the previous suggestions (for example, you are a "
"distribution that allows people to run :file:`python.exe` directly), ensure "
"that the landmark file (:file:`Lib\\\\os.py`) exists in your install "
"directory. (Note that it will not be detected inside a ZIP file, but a "
"correctly named ZIP file will be detected instead.)"
msgstr ""
#: ../../using/windows.rst:1184
msgid ""
"These will ensure that the files in a system-wide installation will not take "
"precedence over the copy of the standard library bundled with your "
"application. Otherwise, your users may experience problems using your "
"application. Note that the first suggestion is the best, as the others may "
"still be susceptible to non-standard paths in the registry and user site-"
"packages."
msgstr ""
#: ../../using/windows.rst:1193
msgid ""
"Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv."
"cfg``."
msgstr ""
#: ../../using/windows.rst:1195
msgid ""
"Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the "
"executable."
msgstr ""
#: ../../using/windows.rst:1201
msgid ""
"Modules specified in the registry under ``Modules`` (not ``PythonPath``) may "
"be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This "
"finder is enabled on Windows in 3.6.0 and earlier, but may need to be "
"explicitly added to :data:`sys.meta_path` in the future."
msgstr ""
#: ../../using/windows.rst:1207
msgid "Additional modules"
msgstr ""
#: ../../using/windows.rst:1209
msgid ""
"Even though Python aims to be portable among all platforms, there are "
"features that are unique to Windows. A couple of modules, both in the "
"standard library and external, and snippets exist to use these features."
msgstr ""
#: ../../using/windows.rst:1213
msgid ""
"The Windows-specific standard modules are documented in :ref:`mswin-specific-"
"services`."
msgstr ""
#: ../../using/windows.rst:1217
msgid "PyWin32"
msgstr "PyWin32"
#: ../../using/windows.rst:1219
msgid ""
"The `PyWin32 `_ module by Mark Hammond is "
"a collection of modules for advanced Windows-specific support. This "
"includes utilities for:"
msgstr ""
#: ../../using/windows.rst:1223
msgid ""
"`Component Object Model `_ (COM)"
msgstr ""
#: ../../using/windows.rst:1226
msgid "Win32 API calls"
msgstr "Win32 API "
#: ../../using/windows.rst:1227
msgid "Registry"
msgstr "Registry"
#: ../../using/windows.rst:1228
msgid "Event log"
msgstr "Event log"
#: ../../using/windows.rst:1229
msgid ""
"`Microsoft Foundation Classes `_ (MFC) user interfaces"
msgstr ""
#: ../../using/windows.rst:1233
msgid ""
"`PythonWin `_ is a sample MFC application shipped with PyWin32. "
"It is an embeddable IDE with a built-in debugger."
msgstr ""
#: ../../using/windows.rst:1240
msgid ""
"`Win32 How Do I...? `_"
msgstr ""
"`Win32 How Do I...? `_"
#: ../../using/windows.rst:1240
msgid "by Tim Golden"
msgstr " Tim Golden "
#: ../../using/windows.rst:1242
msgid "`Python and COM `_"
msgstr "`Python and COM `_"
#: ../../using/windows.rst:1243
msgid "by David and Paul Boddie"
msgstr " David Paul Boddie "
#: ../../using/windows.rst:1247
msgid "cx_Freeze"
msgstr "cx_Freeze"
#: ../../using/windows.rst:1249
msgid ""
"`cx_Freeze `_ wraps Python "
"scripts into executable Windows programs (:file:`{*}.exe` files). When you "
"have done this, you can distribute your application without requiring your "
"users to install Python."
msgstr ""
#: ../../using/windows.rst:1256
msgid "Compiling Python on Windows"
msgstr " Python Windows"
#: ../../using/windows.rst:1258
msgid ""
"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 `checkout `_."
msgstr ""
#: ../../using/windows.rst:1263
msgid ""
"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 :file:`PCbuild` directory."
msgstr ""
#: ../../using/windows.rst:1267
msgid ""
"Check :file:`PCbuild/readme.txt` for general information on the build "
"process."
msgstr ""
#: ../../using/windows.rst:1269
msgid "For extension modules, consult :ref:`building-on-windows`."
msgstr ""
#: ../../using/windows.rst:1273
msgid "Other Platforms"
msgstr ""
#: ../../using/windows.rst:1275
msgid ""
"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."
msgstr ""
#: ../../using/windows.rst:1279
msgid ""
"`Windows CE `_ is `no longer supported "
"`__ since Python 3 (if it "
"ever was)."
msgstr ""
#: ../../using/windows.rst:1282
msgid ""
"The `Cygwin `_ installer offers to install the `Python "
"interpreter `__ as well"
msgstr ""
#: ../../using/windows.rst:1286
msgid ""
"See `Python for Windows `_ for "
"detailed information about platforms with pre-compiled installers."
msgstr ""