Установка virtualenv
в Python 2.7.
Внимание! Сторонний модуль virtualenv
для Unix систем необходимо устанавливать под версию python, которая используется операционной системой по умолчанию!!!
Для начала
использования virtualenv
, ее нужно установить. Виртуальное окружение будем ставить в систему, т. к. виртуальная среда системой ни как не используется. Это первое и последнее, что устанавливается в систему.
Помним, что поставляемый с Unix системами Python не имеет пакетного менеджера
pip
, следовательно
модуль virtualenv
, необходимо устанавливать из пакетов операционной системы, при помощи пакетного менеджера
apt-get
или используя флаг
-m
интерпретатора Python. Пользователям Windows, то же будет интересно yзнать о таком методе установки пакетов, не входящих в стандартную библиотеку.
# Для пользователей Ubuntu, Debian
$ sudo apt install python-virtualenv
# или
$ sudo python -m pip install virtualenv
# Для пользователей Windows
> python -m pip install virtualenv
Для Unix систем предпочтительней использовать установку уже скомпилированного модуля virtualenv
под используемую по умолчанию версию Python операционной системы, командой sudo apt install python-virtualenv
.
Установка virtualenv
в Python 3.x.
Если в вашей системе по умолчанию используется версия Python3, то модуль virtualenv
можно установить следующей командой:
# Для пользователей Ubuntu, Debian
$ sudo apt install python3-virtualenv
$ virtualenv --version
virtualenv 20.0.17 from /usr/lib/python3/dist-packages/virtualenv/__init__.py
Обратите внимание, что в Debian, установленный таким образом модуль virtualenv
для python3 может не заработать. В таком случае, необходимо файл virtualenv.py
запускать вручную или, для удобства создать командный файл. В дистрибутивах Ubuntu, такой проблемы не замечено.
$ python3 /usr/lib/python3/dist-packages/virtualenv.py
Так же для версий Python 3.5 и выше, для создания виртуальных сред, можно использовать
встроенный модуль venv
. В этом случае устанавливать ничего не надо. Обратите внимание, что функциональность и приемы использования встроенного модуля
venv
сильно отличается от стороннего модуля
virtualenv
.
Использование virtualenv.
Перенос экземпляра системного Python или того, который мы установили:
# Создаем директорию для нашего виртуального окружения
$ mkdir myVenv
# Для переноса экземпляра Python v.3, если он установлен в системе
$ virtualenv --python=python3 myVenv
# Для переноса экземпляра нужного нам Python для Linux
$ virtualenv --python=/path/to/python-3.x.x/bin/python myVenv
# Для переноса экземпляра нужного нам Python для Windows
> virtualenv --python=c:\python-3.x.x\bin\python myVenv
Где /path/to/python-3.x.x/bin/python
путь до бинарного файла, нужного нам интерпретатора Python например /opt/python-3.7.4/bin/python
или для Windows c:\python-3.7.4\bin\python
Активация виртуального окружения:
# Для Linux
$ source /path/to/myVenv/bin/activate
# Для Windows
> c:\myVenv\Scripts\activate
После активации виртуального окружения вы можете, без каких либо ограничений и без sudo
, пользоваться pip
не боясь причинить ущерб системе. Таких виртуальных сред может быть бесконечно много и все они будут изолированы как друг от друга, так и от системы. Каждая виртуальная среда может иметь свою собственную версию Python и может иметь собственный независимый набор установленных пакетов.
Для выхода из виртуального окружения просто наберите deactivate
Для удаления virtualenv, просто удалите директорию с виртуальным окружением
Справочное руководство virtualenv.
Использование:
virtualenv [ОПЦИИ] ENV_DIR
- где ENV_DIR абсолютный или относительный путь к каталогу, в котором создается виртуальная среда.
Опции:
-version
: показывает установленную версию virtualenv-h
, --help
: показать это справочное сообщение и выйти-v
, --verbose
: увеличивает вывод информации.-q
, --quiet
: уменьшает вывод информации.-p PYTHON_EXE
, --python=PYTHON_EXE
: используемый интерпретатор Python, например, --python=/opt/python-3.7.4/bin/python будет использовать интерпретатор из директории /opt/python-3.7.4/bin/python для создания новой среды. По умолчанию используется интерпретатор, с которым был установлен virtualenv.--clear
: очищает установку, что бы начать с нуля.--system-site-packages
: передает виртуальной среде доступ к глобальным пакетам.--always-copy
: копирует файлы, а не символические ссылки.--relocatable
: делает СУЩЕСТВУЮЩУЮ среду virtualenv перемещаемой. Это исправляет сценарии и делает все файлы .pth относительными.--unzip-setuptools
: разархивирует Setuptools при установке.--no-setuptools
: не устанавливает setuptools в новом virtualenv.--no-pip
: не устанавливает pip в новом virtualenv.--extra-search-dir=DIR
: каталог для поиска дистрибутивов pip. Эту опцию можно указывать несколько раз.--prompt=PROMPT
: предоставляет альтернативный префикс приглашения для этой среды.--download
: загружает предустановленные пакеты из PyPI.--no-download
: не загружает предустановленные пакеты из PyPI.--no-site-packages
: РЕКОМЕНДУЕТСЯ. Отсутствие доступа к пакетам переносимого Python в виртуальное окружение, теперь является поведением по умолчанию.