Как создать виртуальный env с помощью python3

Я использую 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

Кто-нибудь может сказать, что я делаю неправильно с этим

Ответы

Ответ 1

В Python 3.6+ модуль pyvenv устарел. Вместо этого используйте следующий однострочный слой:

python3 -m venv <myenvname>

Это рекомендуемый способ для создания виртуальных сред сообществом Python.

Ответ 2

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.

Ответ 3

Я устанавливаю его с помощью команды (для Python 3.x),

$ python3 -m venv env

Ответ 4

Чтобы создать виртуальную среду

virtualenv -p python3 venv_name 

Это создаст новый исполняемый файл python в baseDirectory/bin/python3

Как активировать недавно созданный Venv:

cd baseDirectory/bin/  

source activate  

Деактивировать новый venv

deactivate 

Ответ 5

Установите virtualenvwrapper поверх virtualenv для упрощения. Следуйте блогу, чтобы установить его в простых шагах: virtualenvwrapper

Шаги по его созданию:

  • mkvirtualenv -p/usr/bin/python3
  • Установить пакеты с помощью - pip install package_name
  • workon - активирует virtualenv, deactivate - деактивирует viirtualenv