diff --git a/library/venv.po b/library/venv.po index d3bcb61ca0..6ee64fe52b 100644 --- a/library/venv.po +++ b/library/venv.po @@ -2,13 +2,15 @@ # This file is distributed under the same license as the Python package. # # Translators: +# Po-Chuan Chen , 2023 +# Dr-XYZ , 2025 msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-10-11 00:13+0000\n" -"PO-Revision-Date: 2023-07-09 15:09+0800\n" -"Last-Translator: Po-Chuan Chen \n" +"PO-Revision-Date: 2025-05-23 10:20+0800\n" +"Last-Translator: Dr-XYZ \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" @@ -28,14 +30,18 @@ msgstr "**原始碼:**\\ :source:`Lib/venv/`" #: ../../library/venv.rst:21 msgid "" -"The :mod:`!venv` module supports creating lightweight \"virtual " -"environments\", each with their own independent set of Python packages " -"installed in their :mod:`site` directories. A virtual environment is created " -"on top of an existing Python installation, known as the virtual " -"environment's \"base\" Python, and may optionally be isolated from the " -"packages in the base environment, so only those explicitly installed in the " -"virtual environment are available." +"The :mod:`!venv` module supports creating lightweight \"virtual environments" +"\", each with their own independent set of Python packages installed in " +"their :mod:`site` directories. A virtual environment is created on top of an " +"existing Python installation, known as the virtual environment's \"base\" " +"Python, and may optionally be isolated from the packages in the base " +"environment, so only those explicitly installed in the virtual environment " +"are available." msgstr "" +":mod:`!venv` 模組支援建立輕量級的「虛擬環境」,每個虛擬環境都有獨立安裝在其 :" +"mod:`site` 目錄中的一組 Python 套件。虛擬環境是建立在既有的 Python 安裝上(稱" +"為該虛擬環境的「基底」Python)之上,可選擇與基底環境中的套件隔離,使得僅能存" +"取明確安裝在虛擬環境中的套件。" #: ../../library/venv.rst:29 msgid "" @@ -43,10 +49,12 @@ msgid "" "as :pypi:`pip` will install Python packages into a virtual environment " "without needing to be told to do so explicitly." msgstr "" +"在使用虛擬環境中時,像 :pypi:`pip` 這樣的常用安裝工具會自動將 Python 套件安裝" +"至虛擬環境中,而不需要額外指定。" #: ../../library/venv.rst:33 msgid "A virtual environment is (amongst other things):" -msgstr "" +msgstr "虛擬環境是(主要的特性):" #: ../../library/venv.rst:35 msgid "" @@ -55,6 +63,9 @@ msgid "" "These are by default isolated from software in other virtual environments " "and Python interpreters and libraries installed in the operating system." msgstr "" +"用來包含特定的 Python 直譯器、函式庫與二進位檔案,以支援某個專案(函式庫或應" +"用程式)。預設情況下,這些內容會與其他虛擬環境中的軟體以及作業系統中安裝的 " +"Python 直譯器與函式庫隔離。" #: ../../library/venv.rst:40 msgid "" @@ -62,22 +73,26 @@ msgid "" "project directory, or under a container directory for lots of virtual " "environments, such as ``~/.virtualenvs``." msgstr "" +"被包含在一個目錄中,通常命名為專案目錄下的 ``.venv`` 或 ``venv``,也可能是在" +"用來管理多個虛擬環境的容器目錄中,例如 ``~/.virtualenvs``。" #: ../../library/venv.rst:44 msgid "Not checked into source control systems such as Git." -msgstr "" +msgstr "不應提交至 Git 等版本控制系統。" #: ../../library/venv.rst:46 msgid "" "Considered as disposable -- it should be simple to delete and recreate it " "from scratch. You don't place any project code in the environment." msgstr "" +"被視為可拋棄的資源——應能簡單地刪除並從頭重新建立。請勿將任何專案程式碼放置於" +"虛擬環境中。" #: ../../library/venv.rst:49 msgid "" "Not considered as movable or copyable -- you just recreate the same " "environment in the target location." -msgstr "" +msgstr "不應移動或複製——若需在其他位置使用,應重新建立相同的虛擬環境。" #: ../../library/venv.rst:52 msgid "See :pep:`405` for more background on Python virtual environments." @@ -89,10 +104,13 @@ msgid "" "`__" msgstr "" +"`Python 套件指南:建立與使用虛擬環境 `__" #: ../../includes/wasm-mobile-notavail.rst:3 msgid "Availability" -msgstr "" +msgstr "可用性" #: ../../includes/wasm-mobile-notavail.rst:5 msgid "" @@ -259,7 +277,7 @@ msgstr "" #: ../../library/venv.rst:149 msgid "``setuptools`` is no longer a core venv dependency." -msgstr "" +msgstr "``setuptools`` 不再是 venv 的核心相依套件。" #: ../../library/venv.rst:153 msgid "Added the ``--without-scm-ignore-files`` option." @@ -267,7 +285,7 @@ msgstr "新增 ``--without-scm-ignore-files`` 選項" #: ../../library/venv.rst:154 msgid "``venv`` now creates a :file:`.gitignore` file for Git by default." -msgstr "" +msgstr "``venv`` 現在預設會為 Git 建立 :file:`.gitignore` 檔案。" #: ../../library/venv.rst:158 msgid "" @@ -597,6 +615,9 @@ msgid "" "method named ``create_{scm}_ignore_file``. The only value supported by " "default is ``\"git\"`` via :meth:`create_git_ignore_file`." msgstr "" +"*scm_ignore_files*——根據可疊代物件中指定的來源控制管理(SCM),建立對應的忽略" +"檔。支援情況取決於是否有名為 ``create_{scm}_ignore_file`` 的方法。預設唯一支" +"援的值是 ``\"git\"``,透過 :meth:`create_git_ignore_file` 方法提供支援。" #: ../../library/venv.rst:321 msgid "Added the ``with_pip`` parameter" @@ -651,6 +672,17 @@ msgid "" " self.setup_scripts(context)\n" " self.post_setup(context)" msgstr "" +"def create(self, env_dir):\n" +" \"\"\"\n" +" 在目標目錄中建立一個虛擬化的 Python 環境。\n" +" env_dir 是要建立虛擬環境的目標目錄。\n" +" \"\"\"\n" +" env_dir = os.path.abspath(env_dir)\n" +" context = self.ensure_directories(env_dir)\n" +" self.create_configuration(context)\n" +" self.setup_python(context)\n" +" self.setup_scripts(context)\n" +" self.post_setup(context)" #: ../../library/venv.rst:358 msgid "" @@ -688,18 +720,24 @@ msgid "" "``env_dir`` - The location of the virtual environment. Used for " "``__VENV_DIR__`` in activation scripts (see :meth:`install_scripts`)." msgstr "" +"``env_dir`` —— 虛擬環境的位置。用於啟用腳本中的 ``__VENV_DIR__``\\ (參見 :" +"meth:`install_scripts`)。" #: ../../library/venv.rst:377 msgid "" "``env_name`` - The name of the virtual environment. Used for " "``__VENV_NAME__`` in activation scripts (see :meth:`install_scripts`)." msgstr "" +"``env_name`` —— 虛擬環境的名稱。用於啟用腳本中的 ``__VENV_NAME__``\\ (參見 :" +"meth:`install_scripts`)。" #: ../../library/venv.rst:380 msgid "" "``prompt`` - The prompt to be used by the activation scripts. Used for " "``__VENV_PROMPT__`` in activation scripts (see :meth:`install_scripts`)." msgstr "" +"``prompt`` —— 啟用腳本所使用的提示字元。用於啟用腳本中的 ``__VENV_PROMPT__``" +"\\ (參見 :meth:`install_scripts`)。" #: ../../library/venv.rst:383 msgid "" @@ -707,18 +745,20 @@ msgid "" "environment. This takes into account the case where a virtual environment is " "created from another virtual environment." msgstr "" +"``executable`` —— 虛擬環境所使用的底層 Python 執行檔。在從其他虛擬環境建立虛" +"擬環境的情況下,也會一併考慮該情境。" #: ../../library/venv.rst:387 msgid "``inc_path`` - The include path for the virtual environment." -msgstr "" +msgstr "``inc_path`` —— 虛擬環境的 include 路徑。" #: ../../library/venv.rst:389 msgid "``lib_path`` - The purelib path for the virtual environment." -msgstr "" +msgstr "``lib_path`` —— 虛擬環境的 purelib 路徑。" #: ../../library/venv.rst:391 msgid "``bin_path`` - The script path for the virtual environment." -msgstr "``bin_path`` - 虛擬環境的腳本路徑。" +msgstr "``bin_path`` —— 虛擬環境的腳本路徑。" #: ../../library/venv.rst:393 msgid "" @@ -726,6 +766,8 @@ msgid "" "environment location. Used for ``__VENV_BIN_NAME__`` in activation scripts " "(see :meth:`install_scripts`)." msgstr "" +"``bin_name`` —— 相對於虛擬環境位置的腳本路徑名稱。用於啟用腳本中的 " +"``__VENV_BIN_NAME__``\\ (參見 :meth:`install_scripts`)。" #: ../../library/venv.rst:397 msgid "" @@ -733,6 +775,8 @@ msgid "" "Used for ``__VENV_PYTHON__`` in activation scripts (see :meth:" "`install_scripts`)." msgstr "" +"``env_exe`` —— 虛擬環境中 Python 直譯器的名稱。用於啟用腳本中的 " +"``__VENV_PYTHON__``\\ (參見 :meth:`install_scripts`)。" #: ../../library/venv.rst:401 msgid "" @@ -740,18 +784,22 @@ msgid "" "filesystem redirections. This can be used to run Python in the virtual " "environment." msgstr "" +"``env_exec_cmd`` —— Python 直譯器名稱,會將檔案系統重新導向後納入考慮。可用於" +"在虛擬環境中執行 Python。" #: ../../library/venv.rst:406 msgid "" "The *venv* :ref:`sysconfig installation scheme ` is used " "to construct the paths of the created directories." msgstr "" +"*venv* 使用 :ref:`sysconfig 安裝配置方案 ` 來建構所建立目" +"錄的路徑。" #: ../../library/venv.rst:411 msgid "" "The attribute ``lib_path`` was added to the context, and the context object " "was documented." -msgstr "" +msgstr "``lib_path`` 屬性已新增至情境中,且情境物件已加入文件說明。" #: ../../library/venv.rst:417 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." @@ -764,12 +812,15 @@ msgid "" "``python`` and ``python3`` will be created pointing to that executable, " "unless files with those names already exist." msgstr "" +"在環境中建立 Python 執行檔的複本或符號連結。在 POSIX 系統上,若使用了特定的 " +"``python3.x`` 執行檔,將建立指向該執行檔的 ``python`` 與 ``python3`` 符號連結" +"(除非這些名稱的檔案已存在)。" #: ../../library/venv.rst:428 msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." -msgstr "" +msgstr "將符合平台的啟用腳本安裝到虛擬環境中。" #: ../../library/venv.rst:433 msgid "" @@ -777,10 +828,12 @@ msgid "" "environment. This is done by shelling out to the ``pip`` executable in the " "environment." msgstr "" +"更新虛擬環境中的核心 venv 相依套件(目前為 :pypi:`pip`)。此動作會透過執行虛" +"擬環境中的 ``pip`` 執行檔來完成。" #: ../../library/venv.rst:440 msgid ":pypi:`setuptools` is no longer a core venv dependency." -msgstr ":pypi:`setuptools` 不再是核心 venv 的依賴。" +msgstr ":pypi:`setuptools` 不再是核心 venv 的相依項目。" #: ../../library/venv.rst:444 msgid "" @@ -788,6 +841,8 @@ msgid "" "to pre-install packages in the virtual environment or perform other post-" "creation steps." msgstr "" +"此佔位方法在虛擬環境中預先安裝套件,或執行其他建立後的動作,可由第三方實作覆" +"寫。" #: ../../library/venv.rst:450 msgid "" @@ -795,6 +850,8 @@ msgid "" "in subclasses to assist in installing custom scripts into the virtual " "environment." msgstr "" +"此方法可由子類別中的 :meth:`setup_scripts` 或 :meth:`post_setup` 呼叫,協助將" +"自訂腳本安裝到虛擬環境中。" #: ../../library/venv.rst:454 msgid "" @@ -804,48 +861,56 @@ msgid "" "directory corresponding to :data:`os.name` are copied after some text " "replacement of placeholders:" msgstr "" +"*path* 是一個目錄的路徑,該目錄應包含子目錄 ``common``、``posix`` 和 ``nt``;" +"每個子目錄中都包含指向環境中 ``bin`` 目錄的腳本。在執行部分佔位符文字替換後," +"將會複製 ``common`` 及與 :data:`os.name` 對應的目錄的內容:" #: ../../library/venv.rst:460 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." -msgstr "" +msgstr "``__VENV_DIR__`` 會被替換為環境目錄的絕對路徑。" #: ../../library/venv.rst:463 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." -msgstr "" +msgstr "``__VENV_NAME__`` 會被替換為環境的名稱(即該環境目錄路徑的最後一段)。" #: ../../library/venv.rst:466 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" msgstr "" +"``__VENV_PROMPT__`` 會被替換為提示字元(即以括號包裹的環境名稱,並附帶一個空" +"格)。" #: ../../library/venv.rst:469 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." msgstr "" +"``__VENV_BIN_NAME__`` 會被替換為 bin 目錄的名稱(可能是 ``bin`` 或 " +"``Scripts``)。" #: ../../library/venv.rst:472 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." -msgstr "" +msgstr "``__VENV_PYTHON__`` 會被替換為環境中 Python 執行檔的絕對路徑。" #: ../../library/venv.rst:475 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." -msgstr "" +msgstr "允許這些目錄存在(例如當更新既有環境時)。" #: ../../library/venv.rst:480 msgid "" "Creates a ``.gitignore`` file within the virtual environment that causes the " "entire directory to be ignored by the Git source control manager." msgstr "" +"在虛擬環境中建立一個 ``.gitignore`` 檔案,讓 Git 原始碼控管工具忽略整個目錄。" #: ../../library/venv.rst:485 msgid "" @@ -853,6 +918,9 @@ msgid "" "the actual binaries. In 3.7.2 only :meth:`setup_python` does nothing unless " "running from a build in the source tree." msgstr "" +"Windows 現在使用重新導向腳本來處理 ``python[w].exe``,而不再複製實際的二進位" +"檔。在 3.7.2 中,只有當從原始碼樹中建構時,:meth:`setup_python` 才會執行操" +"作。" #: ../../library/venv.rst:490 msgid "" @@ -860,16 +928,21 @@ msgid "" "instead of :meth:`setup_scripts`. This was not the case in 3.7.2. When using " "symlinks, the original executables will be linked." msgstr "" +"Windows會在 :meth:`setup_python` 中複製重新導向腳本,而非在 :meth:" +"`setup_scripts` 中進行。這在 3.7.2 中並非如此。若使用符號連結,則會連結至原始" +"的可執行檔。" #: ../../library/venv.rst:495 msgid "There is also a module-level convenience function:" -msgstr "" +msgstr "也有一個方便的模組層級的函式:" #: ../../library/venv.rst:501 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." msgstr "" +"使用提供的關鍵字引數建立一個 :class:`EnvBuilder`,並以 *env_dir* 作為引數呼叫" +"其 :meth:`~EnvBuilder.create` 方法。" #: ../../library/venv.rst:506 msgid "Added the *with_pip* parameter" @@ -897,6 +970,8 @@ msgid "" "a subclass which installs setuptools and pip into a created virtual " "environment::" msgstr "" +"以下的腳本展示了如何透過實作子類別來擴充 :class:`EnvBuilder`,並在建立的虛擬" +"環境中安裝 setuptools 與 pip: ::" #: ../../library/venv.rst:524 msgid "" @@ -1113,12 +1188,216 @@ msgid "" " print('Error: %s' % e, file=sys.stderr)\n" " sys.exit(rc)" msgstr "" +"import os\n" +"import os.path\n" +"from subprocess import Popen, PIPE\n" +"import sys\n" +"from threading import Thread\n" +"from urllib.parse import urlparse\n" +"from urllib.request import urlretrieve\n" +"import venv\n" +"\n" +"class ExtendedEnvBuilder(venv.EnvBuilder):\n" +" \"\"\"\n" +" 此建構子會安裝 setuptools 和 pip,使你能夠使用 pip 或\n" +" easy_install 安裝其他套件到建立的虛擬環境中。\n" +"\n" +" :param nodist: 若為 true,則不會安裝 setuptools 和 pip 至\n" +" 所建立的虛擬環境中。\n" +" :param nopip: 若為 true,則不會安裝 pip 至所建立的\n" +" 虛擬環境中。\n" +" :param progress: 若安裝了 setuptools 或 pip,可透過傳入 progress\n" +" 可呼叫物件來監控安裝進度。若有指定,該可呼叫物件會接收兩" +"個引數:\n" +" 一個表示進度的字串,以及一個表示該字串來源的情境。\n" +" context 引數可能有三種值:\n" +" 'main' 表示該呼叫來自 virtualize() 本身,\n" +" 'stdout' 與 'stderr' 則分別表示從子行程輸出資料串流中\n" +" 讀取的輸出內容,該子行程用於安裝應用程式。\n" +"\n" +" 若未指定可呼叫物件,則預設的進度資訊會輸出至 sys." +"stderr。\n" +" \"\"\"\n" +"\n" +" def __init__(self, *args, **kwargs):\n" +" self.nodist = kwargs.pop('nodist', False)\n" +" self.nopip = kwargs.pop('nopip', False)\n" +" self.progress = kwargs.pop('progress', None)\n" +" self.verbose = kwargs.pop('verbose', False)\n" +" super().__init__(*args, **kwargs)\n" +"\n" +" def post_setup(self, context):\n" +" \"\"\"\n" +" 設定在建立虛擬環境時需預先安裝的套件。\n" +"\n" +" :param context: 處理中的虛擬環境建立請求所需的資訊。\n" +" \"\"\"\n" +" os.environ['VIRTUAL_ENV'] = context.env_dir\n" +" if not self.nodist:\n" +" self.install_setuptools(context)\n" +" # 沒有 setuptools 就無法安裝 pip\n" +" if not self.nopip and not self.nodist:\n" +" self.install_pip(context)\n" +"\n" +" def reader(self, stream, context):\n" +" \"\"\"\n" +" 從子行程的輸出串流中讀取每一列,並將其傳遞給進度回呼函式(若有指" +"定),或將進度資訊寫入 sys.stderr。\n" +" \"\"\"\n" +" progress = self.progress\n" +" while True:\n" +" s = stream.readline()\n" +" if not s:\n" +" break\n" +" if progress is not None:\n" +" progress(s, context)\n" +" else:\n" +" if not self.verbose:\n" +" sys.stderr.write('.')\n" +" else:\n" +" sys.stderr.write(s.decode('utf-8'))\n" +" sys.stderr.flush()\n" +" stream.close()\n" +"\n" +" def install_script(self, context, name, url):\n" +" _, _, path, _, _, _ = urlparse(url)\n" +" fn = os.path.split(path)[-1]\n" +" binpath = context.bin_path\n" +" distpath = os.path.join(binpath, fn)\n" +" # 將腳本下載到虛擬環境的執行檔資料夾中\n" +" urlretrieve(url, distpath)\n" +" progress = self.progress\n" +" if self.verbose:\n" +" term = '\\n'\n" +" else:\n" +" term = ''\n" +" if progress is not None:\n" +" progress('Installing %s ...%s' % (name, term), 'main')\n" +" else:\n" +" sys.stderr.write('Installing %s ...%s' % (name, term))\n" +" sys.stderr.flush()\n" +" # 安裝到虛擬環境中\n" +" args = [context.env_exe, fn]\n" +" p = Popen(args, stdout=PIPE, stderr=PIPE, cwd=binpath)\n" +" t1 = Thread(target=self.reader, args=(p.stdout, 'stdout'))\n" +" t1.start()\n" +" t2 = Thread(target=self.reader, args=(p.stderr, 'stderr'))\n" +" t2.start()\n" +" p.wait()\n" +" t1.join()\n" +" t2.join()\n" +" if progress is not None:\n" +" progress('done.', 'main')\n" +" else:\n" +" sys.stderr.write('done.\\n')\n" +" # 清理——不再需要\n" +" os.unlink(distpath)\n" +"\n" +" def install_setuptools(self, context):\n" +" \"\"\"\n" +" Install setuptools in the virtual environment.\n" +"\n" +" :param context: The information for the virtual environment\n" +" creation request being processed.\n" +" \"\"\"\n" +" url = \"https://bootstrap.pypa.io/ez_setup.py\"\n" +" self.install_script(context, 'setuptools', url)\n" +" # 清除已下載的 setuptools 檔案\n" +" pred = lambda o: o.startswith('setuptools-') and o.endswith('.tar." +"gz')\n" +" files = filter(pred, os.listdir(context.bin_path))\n" +" for f in files:\n" +" f = os.path.join(context.bin_path, f)\n" +" os.unlink(f)\n" +"\n" +" def install_pip(self, context):\n" +" \"\"\"\n" +" 在虛擬環境中安裝 pip。\n" +"\n" +" :param context: 處理中的虛擬環境建立請求相關資訊。\n" +" \"\"\"\n" +" url = 'https://bootstrap.pypa.io/get-pip.py'\n" +" self.install_script(context, 'pip', url)\n" +"\n" +"\n" +"def main(args=None):\n" +" import argparse\n" +"\n" +" parser = argparse.ArgumentParser(prog=__name__,\n" +" description='Creates virtual Python '\n" +" 'environments in one or '\n" +" 'more target '\n" +" 'directories.')\n" +" parser.add_argument('dirs', metavar='ENV_DIR', nargs='+',\n" +" help='A directory in which to create the '\n" +" 'virtual environment.')\n" +" parser.add_argument('--no-setuptools', default=False,\n" +" action='store_true', dest='nodist',\n" +" help=\"Don't install setuptools or pip in the \"\n" +" \"virtual environment.\")\n" +" parser.add_argument('--no-pip', default=False,\n" +" action='store_true', dest='nopip',\n" +" help=\"Don't install pip in the virtual \"\n" +" \"environment.\")\n" +" parser.add_argument('--system-site-packages', default=False,\n" +" action='store_true', dest='system_site',\n" +" help='Give the virtual environment access to the '\n" +" 'system site-packages dir.')\n" +" if os.name == 'nt':\n" +" use_symlinks = False\n" +" else:\n" +" use_symlinks = True\n" +" parser.add_argument('--symlinks', default=use_symlinks,\n" +" action='store_true', dest='symlinks',\n" +" help='Try to use symlinks rather than copies, '\n" +" 'when symlinks are not the default for '\n" +" 'the platform.')\n" +" parser.add_argument('--clear', default=False, action='store_true',\n" +" dest='clear', help='Delete the contents of the '\n" +" 'virtual environment '\n" +" 'directory if it already '\n" +" 'exists, before virtual '\n" +" 'environment creation.')\n" +" parser.add_argument('--upgrade', default=False, action='store_true',\n" +" dest='upgrade', help='Upgrade the virtual '\n" +" 'environment directory to '\n" +" 'use this version of '\n" +" 'Python, assuming Python '\n" +" 'has been upgraded '\n" +" 'in-place.')\n" +" parser.add_argument('--verbose', default=False, action='store_true',\n" +" dest='verbose', help='Display the output '\n" +" 'from the scripts which '\n" +" 'install setuptools and pip.')\n" +" options = parser.parse_args(args)\n" +" if options.upgrade and options.clear:\n" +" raise ValueError('you cannot supply --upgrade and --clear " +"together.')\n" +" builder = ExtendedEnvBuilder(system_site_packages=options.system_site,\n" +" clear=options.clear,\n" +" symlinks=options.symlinks,\n" +" upgrade=options.upgrade,\n" +" nodist=options.nodist,\n" +" nopip=options.nopip,\n" +" verbose=options.verbose)\n" +" for d in options.dirs:\n" +" builder.create(d)\n" +"\n" +"if __name__ == '__main__':\n" +" rc = 1\n" +" try:\n" +" main()\n" +" rc = 0\n" +" except Exception as e:\n" +" print('Error: %s' % e, file=sys.stderr)\n" +" sys.exit(rc)" #: ../../library/venv.rst:732 msgid "" "This script is also available for download `online `_." msgstr "" +"此腳本也可從\\ `線上 `_\\ 下載。" #: ../../library/venv.rst:14 msgid "Environments"