Автостопом по Python | страница 29
Команда virtualenv позволяет достичь этого, создавая отдельный каталог, содержащий гибкую ссылку на исполняемый файл Python, копию pip и место для библиотек Python (добавляет его в начало переменной среды PATH при активизации, а затем возвращает переменную среды в исходное состояние при деактивизации). Вы также можете использовать установленные вместе с системой версию Python и библиотеки, указав требуемые параметры командной строки.
Вы не можете переместить виртуальную среду после ее создания — пути в исполняемых файлах четко указывают на текущий абсолютный путь к интерпретатору, который располагается в каталоге виртуальной среды bin/.
Установка и активизация виртуальных сред Python отличается в разных операционных системах.
Mac OS X и Linux. Вы можете указать версию Python с помощью аргумента — python. Далее используйте сценарий активизации, чтобы установить значение переменной среды PATH при входе в виртуальную среду:
>$ cd мой_каталог_проекта
>$ virtualenv — python python3 my-venv
>$ source my-venv/bin/activate
Windows. Нужно настроить политику выполнения для системы (если вы еще этого не сделали), чтобы разрешить запуск сценариев, созданных локально[30].
Запустите PowerShell от имени администратора и введите следующий код:
>PS C: \> Set-ExecutionPolicy RemoteSigned
Ответьте «Y» на появившийся вопрос и выйдите, после чего в обычной версии PowerShell создайте виртуальную среду:
>PS C: \> cd мой_каталог_проекта
>PS C: \> virtualenv — python python3 my-venv
>PS C: \>.\my-venv\Scripts\activate
Как только вы активизировали виртуальную среду, первым исполняемым файлом pip будет тот, который расположен в только что созданном каталоге >my-venv
. Этот файл установит библиотеки в следующую папку:
• >my-venv/lib/python3.4/site-packages/
(в системах POSIX[31]);
• >my-venv\Lib\site-packages
(в Windows).
При сборке собственных пакетов или проектов для заказчиков можете использовать следующую команду, когда виртуальная среда активна:
>$ pip freeze > requirements.txt
Она позволяет записать все текущие установленные пакеты (которые, как мы надеемся, также являются зависимостями проекта) в файл с именем requirements.txt. Взаимодействующие участники могут установить все зависимости в свою собственную виртуальную среду при наличии файла requirements.txt, введя следующую команду:
>$ pip install — r requirements.txt
Команда pip установит перечисленные зависимости, переопределяя зависимости, указанные в подпакетах, в том случае, если возникли конфликты. Зависимости, указанные в файле requirements.txt, предназначены для установки всей среды Python. Для того чтобы установить зависимости при распространении библиотеки, для функции setup(), размещенной в файле setup.py, лучше всего использовать аргумент с ключевым словом install_requires.