Документация Python неофициальный перевод

scripts.md

90 строк · 7.3 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.4/using/scripts.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 5. Дополнительные инструменты и скрипты89## 5.1. pyvenv – Создание виртуальных окружений1011Создание [*виртуальных окружений*](https://python-all.ru/3.4/library/venv.html#venv-def) производится выполнением скрипта `pyvenv`:1213```python14pyvenv /path/to/new/virtual/environment15```1617Выполнение этой команды создает целевой каталог (создавая все родительские каталоги, которых еще нет) и помещает в него файл `pyvenv.cfg` с ключом `home`, указывающим на установку Python, из которой была запущена команда. Она также создает подкаталог `bin` (или `Scripts` в Windows), содержащий копию двоичного файла `python` (или нескольких файлов в случае Windows). Также создается (изначально пустой) подкаталог `lib/pythonX.Y/site-packages` (в Windows это `Lib\site-packages`).1819> **См. также**20>21> [Руководство пользователя по упаковке Python: создание и использование виртуальных окружений](https://python-all.ru/3.4/using/scripts.html)2223В Windows может потребоваться запускать скрипт `pyvenv` следующим образом, если не заданы соответствующие переменные PATH и PATHEXT:2425```text26c:\Temp>c:\Python34\python c:\Python34\Tools\Scripts\pyvenv.py myenv27```2829или, что то же самое:3031```text32c:\Temp>c:\Python34\python -m venv myenv33```3435Команда, запущенная с `-h`, покажет доступные параметры:3637```text38usage: venv [-h] [--system-site-packages] [--symlinks] [--clear]39            [--upgrade] [--without-pip] ENV_DIR [ENV_DIR ...]4041Creates virtual Python environments in one or more target directories.4243positional arguments:44  ENV_DIR             A directory to create the environment in.4546optional arguments:47  -h, --help             show this help message and exit48  --system-site-packages Give access to the global site-packages dir to the49                         virtual environment.50  --symlinks             Try to use symlinks rather than copies, when symlinks51                         are not the default for the platform.52  --copies               Try to use copies rather than symlinks, even when53                         symlinks are the default for the platform.54  --clear                Delete the environment directory if it already exists.55                         If not specified and the directory exists, an error is56                         raised.57  --upgrade              Upgrade the environment directory to use this version58                         of Python, assuming Python has been upgraded in-place.59  --without-pip          Skips installing or upgrading pip in the virtual60                         environment (pip is bootstrapped by default)61```6263В зависимости от того, как была вызвана функциональность `venv`, сообщение об использовании может незначительно отличаться, например, ссылаться на `pyvenv` вместо `venv`.6465Изменено в версии 3.4: Устанавливает pip по умолчанию, добавлены параметры `--without-pip` и `--copies`6667Изменено в версии 3.4: В более ранних версиях, если целевой каталог уже существовал, возникала ошибка, если только не был указан параметр `--clear` или `--upgrade`. Теперь, если указан существующий каталог, его содержимое удаляется, и каталог обрабатывается так, как если бы он был только что создан.6869Созданный файл `pyvenv.cfg` также содержит ключ `include-system-site-packages`, установленный в `true`, если `venv` был запущен с параметром `--system-site-packages`, и в `false` в противном случае.7071Если не указан параметр `--without-pip`, будет вызван модуль [`ensurepip`](https://python-all.ru/3.4/library/ensurepip.html#module-ensurepip) для установки `pip` в виртуальное окружение.7273Можно указать несколько путей для `pyvenv`; в этом случае идентичное виртуальное окружение будет создано в соответствии с заданными параметрами по каждому указанному пути.7475После создания venv его можно «активировать» с помощью скрипта в каталоге с исполняемыми файлами venv. Вызов скрипта зависит от платформы:7677| Платформа | Оболочка | Команда активации виртуального окружения |78| --- | --- | --- |79| Posix | bash/zsh | $ source \<venv\>/bin/activate |80|  | fish | $ . \<venv\>/bin/activate.fish |81|  | csh/tcsh | $ source \<venv\>/bin/activate.csh |82| Windows | cmd.exe | C:\> \<venv\>/Scripts/activate.bat |83|  | PowerShell | PS C:\> \<venv\>/Scripts/Activate.ps1 |8485Строго говоря, *нет необходимости* активировать окружение; активация просто добавляет каталог с исполняемыми файлами venv в начало пути, так что «python» вызывает интерпретатор Python из venv, и можно запускать установленные скрипты без указания полного пути. Однако все скрипты, установленные в venv, должны быть работоспособны и без активации, и автоматически использовать Python из venv.8687Деактивировать venv можно, набрав «deactivate» в оболочке. Точный механизм зависит от платформы: например, скрипт активации Bash определяет функцию «deactivate», тогда как в Windows есть отдельные скрипты `deactivate.bat` и `Deactivate.ps1`, которые устанавливаются при создании venv.8889Новое в версии 3.4: Скрипты активации для `fish` и `csh`.90