如何使用 Python 2.7 创建 Python 3.5 虚拟环境?

How to create a Python 3.5 virtual environment with Python 2.7?

我的系统是运行ning CentOS 6。我没有管理员权限,所以sudo不可用。我有 Python 2.7.3 可用,还有 pipvirtualenv。我希望我可以使用它们来设置一个新的虚拟环境,在其中安装 & 运行 Python 3.5 或更高版本。

我试过这里描述的方法: Using Python 3 in virtualenv

但是出现这个错误:

$ virtualenv -p python3 venv
The path python3 (from --python=python3) does not exist

我的系统还安装了一个 Python 3.4 模块,所以我试过了,但是 virtualenv 似乎在那里不起作用:

$ module load python/3.4.3
$ virtualenv -p python3 venv
-bash: virtualenv: command not found

这似乎是有道理的,因为 virtualenv 只为 Python 2.7 安装:

$ module unload python
$ module load python/2.7
$ which virtualenv
/local/apps/python/2.7.3/bin/virtualenv

因此,下一个合乎逻辑的步骤似乎是为我的 Python 3 安装 virtualenv...但这也不起作用:

$ pip3 install virtualenv
Traceback (most recent call last):
  File "/local/apps/python/3.4.3/bin/pip3", line 7, in <module>
    from pip import main
ImportError: cannot import name 'main'

还有

$ pip3 install --user virtualenv
Traceback (most recent call last):
  File "/local/apps/python/3.4.3/bin/pip3", line 7, in <module>
    from pip import main
ImportError: cannot import name 'main'

我开始 Google'ing 这条新的错误消息,但没有看到任何似乎与这种情况相关的内容。有任何想法吗?即使我可以在我的 Python 3.4 模块上安装 virtualenv,我仍然无法将它升级到 Python 3.5+ 吗?

为了解决问题,我还尝试从源代码编译我自己的 Python 3.6,但这也不起作用:

Python-3.6.0$ make install
if test "no-framework" = "no-framework" ; then \
        /usr/bin/install -c python /usr/local/bin/python3.6m; \
    else \
        /usr/bin/install -c -s Mac/pythonw /usr/local/bin/python3.6m; \
    fi
/usr/bin/install: cannot create regular file `/usr/local/bin/python3.6m': Permission denied
make: *** [altbininstall] Error 1

更多背景信息:

$ which pip3
/local/apps/python/3.4.3/bin/pip3

$ which python
/local/apps/python/3.4.3/bin/python

尝试以下命令:

pip3 install virtualenv
pip3 install virtualenvwrapper
mkdir ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bash_profile
which python3

现在将上一条命令中python3路径的结果复制到下面的命令中:

mkvirtualenv --python=python3/path/in/last/command myenv

我假设 pip3 已经安装。如果没有,请在 运行 执行这些命令之前安装它。

来源:https://docs.coala.io/en/latest/Help/MAC_Hints.html#create-virtual-environments-with-pyvenv

(我的机器上确实有 sudo 访问权限。我没有尝试过没有它的命令。如果出现任何问题,请post。)

由于您已经安装了 virtualenv,您可能只需要更新文件,然后 运行 使用适当的参数执行命令 mkvirtualenv。

您可以下载miniconda or Anaconda。它不需要超级用户权限,因为它安装在您的主目录中。安装后,您可以像这样创建新环境:

conda create -n py35 python=3.5

然后就可以切换到新环境了:

source activate py35

试试 Windows

virtualenv -p C:\Python35\python.exe django_concurrent_env
cd django_concurrent_env
.\Source\activate
deactivate