python: virtualenv / wrapper игнорирует VIRTUALENVWRAPPER_PYTHON - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь сказать virtualenvwrapper использовать python3.4 вместо python2.7, который отображается на python.

К сожалению virtualenvwrapper игнорирует VIRTUALENVWRAPPER_PYTHON и всегда использует python2.7.

Я видел вопрос здесь

И ничто из упомянутого там не помогло мне.

Я установил все инструменты, используя pip3

[root@server]# pip3 install virtualenv setuptools virtualenvwrapper
Requirement already satisfied: virtualenv in /usr/lib/python3.4/site-packages (16.0.0)
Requirement already satisfied: setuptools in /usr/lib/python3.4/site-packages (40.5.0)
Requirement already satisfied: virtualenvwrapper in /usr/lib/python3.4/site-packages (4.8.2)
Requirement already satisfied: virtualenv-clone in /usr/lib/python3.4/site-packages (from virtualenvwrapper) (0.4.0)
Requirement already satisfied: stevedore in /usr/lib/python3.4/site-packages (from virtualenvwrapper) (1.29.0)
Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /usr/lib/python3.4/site-packages (from stevedore->virtualenvwrapper) (5.0.0)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python3.4/site-packages (from stevedore->virtualenvwrapper) (1.11.0)

А не pip:

[root@server]# pip uninstall virtualenvwrapper
Skipping virtualenvwrapper as it is not installed.

И я также установил env-переменные перед созданием venv:

[dakes@server .virtualenvs]$ export |grep -i virtual
declare -x VIRTUALENVWRAPPER_HOOK_DIR="/home/dakes/.virtualenvs"
declare -x VIRTUALENVWRAPPER_PROJECT_FILENAME=".project"
declare -x VIRTUALENVWRAPPER_PYTHON="/usr/bin/python3.4"
declare -x VIRTUALENVWRAPPER_SCRIPT="/usr/bin/virtualenvwrapper.sh"
declare -x VIRTUALENVWRAPPER_VIRTUALENV="/usr/local/bin/virtualenv"
declare -x VIRTUALENVWRAPPER_WORKON_CD="1"
declare -x WORKON_HOME="/home/dakes/.virtualenvs"

Но каждый раз, когда я создаю venv, он использует python2.7, как вы можете видеть в строке 3:

[dakes@server ~]$ mkdir virtualenvtest
[dakes@server ~]$ mkvirtualenv test -a virtualenvtest/
New python executable in /home/dakes/.virtualenvs/test/bin/python2.7
Also creating executable in /home/dakes/.virtualenvs/test/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/dakes/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/dakes/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/dakes/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/dakes/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/dakes/.virtualenvs/test/bin/get_env_details
Setting project for test to /home/dakes/virtualenvtest

Что я делаю не так?

/ редактирование:

Я смог решить эту проблему, добавив

export VIRTUALENV_PYTHON=${VIRTUALENVWRAPPER_PYTHON}

на мой .bashrc

...