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