A virtualenv - легкая, автономная установка Python. Они предназначены для установки с минимумом суеты и «просто работать», не требуя обширной конфигурации или специализированных знаний.
В Python 3.3 или более поздней версии, вы можете создать virtualenv следующим образом:
$ python3 -m venv ENV_DIR
для Windows, вы должны заменить python3
полный путь к python.exe:
>C:\Python34\python.exe -m venv ENV_DIR
(Это является типичной установкой Python, ваша система может отличаться.)
В более старых версиях Python, включая Python 2, одна из следующих команд должна работать в большинстве случаев ses:
$ virtualenv ENV_DIR
$ venv ENV_DIR
$ pyvenv ENV_DIR
$ pyvenv3 ENV_DIR
ENV_DIR
должно быть несуществующим каталогом. В каталоге может быть любое имя, но чтобы эти инструкции были простыми, я предположим, что вы создали свой virtualenv в каталоге с именем venv
(например, с python3 -m venv ./venv
).
Для работы в вашем virtualenv, вы активируете его:
$ . ./venv/bin/activate
(venv)$
Или использовать это, если у вас есть окна системы:
$ venv\Scripts\activate
(venv)
в приглашении оболочки позволяет узнать, какие virtualenv вас активированы, но вы можете отключить эту функцию, если вам это не нравится. Вы можете выполнять все обычные команды Python, и они будут локальными для virtualenv:
(venv)$ pip install requests numpy
[...]
(venv)$ python
[...]
>>> import requests
>>> import numpy as np
>>>
python
будет запущена версия Python, который вы установили в вашем virtualenv, так (например), вы не должны введите python3
, чтобы получить Python 3. Находящийся на нем Python будет иметь доступ ко всем стандартным библиотечным модулям и всем пакетам, которые вы установили в virtualenv, но (по умолчанию) ни один из пакетов, установленных в общесистемном каталоге site-packages
.
Это последнее правило важно: ограничивая использование виртуальных серверов только локально установленными пакетами, вы можете гарантировать, что вы точно контролируете, какие зависимости использует ваш проект, даже если на следующей неделе будет установлен или обновлен какой-либо новый общесистемный пакет ,Если вы хотите, вы можете получить список из установленных пакетов:
(venv)$ pip freeze
requests==2.13.0
numpy==1.12.0
(venv)$
pip
можно также разобрать этот формат и установить из него, и он будет устанавливать ту же версию, даже если обновления были выпущены в то же время:
(venv)$ pip freeze >requirements.txt
(some-other-venv)$ pip install -r requirements.txt
[...]
(some-other-venv)$ python
>>> import requests
>>> import numpy as np
>>>
вы можете выйти из virtualenv, отключив его:
(venv)$ deactivate
$ python
[...]
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'
вы можете создать столько virtualenvs, как вам нравится, и они не будут Int erfere друг с другом, а также с вашими системными пакетами. Virtualenv - это «просто» каталог с кучей двоичных файлов и скриптов под ним, поэтому вы можете удалить virtualenv так же, как вы удалите любой каталог (rm -r venv
в Unix). Если virtualenv активируется, когда вы его удаляете, вы можете сбить с толку вашу оболочку, поэтому, вероятно, это хорошая идея для deactivate
в этом случае.
Читать эту статью: http://flask.pocoo.org/docs/0.12/installation/#virtualenv –