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

scripts.md

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

1> **Источник:** https://python-all.ru/3.5/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.5/library/venv.html#venv-def) выполняется запуском скрипта `pyvenv`:1213```python14pyvenv /path/to/new/virtual/environment15```1617Running this command creates the target directory (creating any parent directories that don’t exist already) and places a `pyvenv.cfg` file in it with a `home` key pointing to the Python installation the command was run from. It also creates a `bin` (or `Scripts` on Windows) subdirectory containing a copy of the `python` binary (or binaries, in the case of Windows). It also creates an (initially empty) `lib/pythonX.Y/site-packages` subdirectory (on Windows, this is `Lib\site-packages`).1819> **См. также**20>21> [Руководство пользователя по упаковке Python: создание и использование виртуальных окружений](https://python-all.ru/3.5/using/scripts.html)2223В Windows, возможно, придётся вызвать скрипт `pyvenv` следующим образом, если отсутствуют соответствующие настройки PATH и PATHEXT:2425```text26c:\Temp>c:\Python35\python c:\Python35\Tools\Scripts\pyvenv.py myenv27```2829или, что то же самое:3031```text32c:\Temp>c:\Python35\python -m venv myenv33```3435При запуске с флагом `-h` команда отображает доступные параметры:3637```text38usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]39            [--upgrade] [--without-pip]40            ENV_DIR [ENV_DIR ...]4142Creates virtual Python environments in one or more target directories.4344positional arguments:45  ENV_DIR             A directory to create the environment in.4647optional arguments:48  -h, --help             show this help message and exit49  --system-site-packages Give the virtual environment access to the system50                         site-packages dir.51  --symlinks             Try to use symlinks rather than copies, when symlinks52                         are not the default for the platform.53  --copies               Try to use copies rather than symlinks, even when54                         symlinks are the default for the platform.55  --clear                Delete the contents of the environment directory if it56                         already exists, before environment creation.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.5/library/ensurepip.html#module-ensurepip) для начальной установки `pip` в виртуальное окружение.7273Можно указать несколько путей `pyvenv`, в этом случае на каждом из указанных путей будет создан идентичный виртуальный env в соответствии с заданными параметрами.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