首页 > 解决方案 > python:virtualenv/wrapper 忽略 VIRTUALENVWRAPPER_PYTHON

问题描述

我试图告诉 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.

而且我还在制作 venv 之前设置了 env 变量:

[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

标签: pythonvirtualenvwrapper

解决方案


推荐阅读