Ответ 1
В Python 3.6+ модуль pyvenv устарел. Вместо этого используйте следующий однострочный слой:
python3 -m venv <myenvname>
Это рекомендуемый способ для создания виртуальных сред сообществом Python.
Я использую python 2.7 + virtualenv version 1.10.1 для запуска проектов myproject. Из-за некоторых других требований к проекту я должен работать с другой версией python (Python 3.5) и Django 1.9. Для этого я установил python в свой каталог пользователя. Также я загрузил и установил virtualenv ( версия - 15.1.0) в свой каталог пользователя. Но всякий раз, когда я пытаюсь создать виртуальный env, я получаю следующую ошибку
python virtualenv/virtualenv.py myproject
Using base prefix '/home/myuser/python3'
New python executable in /home/mount/myuser/project_python3/myproject/bin/python
ERROR: The executable /home/mount/myuser/project_python3/myproject/bin/python is not functioning
ERROR: It thinks sys.prefix is '/home/myuser/python3' (should be '/home/mount/myuser/project_python3/myproject')
ERROR: virtualenv is not compatible with this system or executable
Кто-нибудь может сказать, что я делаю неправильно с этим
В Python 3.6+ модуль pyvenv устарел. Вместо этого используйте следующий однострочный слой:
python3 -m venv <myenvname>
Это рекомендуемый способ для создания виртуальных сред сообществом Python.
Python уже поставляется со своим встроенным "virtualenv" под названием venv
начиная с версии 3.3. Вам больше не нужно устанавливать или загружать скрипты virtualenv
для Python 3. 3+.
https://docs.python.org/3/library/venv.html
Убедитесь, что ваша установка предоставила команду pyvenv
, которая должна позаботиться о создании "virtualenv". Аргументы похожи на классический проект virtualenv.
$ pyvenv --help
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip]
ENV_DIR [ENV_DIR ...]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
optional arguments:
-h, --help show this help message and exit
--system-site-packages
Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory if it
already exists, before environment creation.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
Я устанавливаю его с помощью команды (для Python 3.x),
$ python3 -m venv env
Чтобы создать виртуальную среду
virtualenv -p python3 venv_name
Это создаст новый исполняемый файл python в baseDirectory/bin/python3
Как активировать недавно созданный Venv:
cd baseDirectory/bin/
source activate
Деактивировать новый venv
deactivate
Установите virtualenvwrapper поверх virtualenv для упрощения. Следуйте блогу, чтобы установить его в простых шагах: virtualenvwrapper
Шаги по его созданию:
workon
- активирует virtualenv, deactivate
- деактивирует viirtualenv