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

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

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

我尝试了这里描述的方法:
在virtualenv中使用Python 3

但得到了这个错误:

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

我的系统也安装了一个Python 3.4模块,所以我试过了,但是virtualenv似乎没有在那里工作:

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

这似乎有意义,因为virtualenv仅为Python 2.7安装:

1
2
3
4
$ module unload python
$ module load python/2.7
$ which virtualenv
/local/apps/python/2.7.3/bin/virtualenv

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

1
2
3
4
5
$ 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'

1
2
3
4
5
$ 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'

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

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

1
2
3
4
5
6
7
8
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

更多背景信息:

1
2
3
4
5
$ which pip3
/local/apps/python/3.4.3/bin/pip3

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


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

1
conda create -n py35 python=3.5

然后你可以切换到新环境:

1
source activate py35


试试Windows。

1
2
3
4
virtualenv -p C:\Python35\python.exe django_concurrent_env
cd django_concurrent_env
.\Source\activate
deactivate


尝试以下命令:

1
2
3
4
5
6
7
pip3 install virtualenv
pip3 install virtualenvwrapper
mkdir ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bash_profile
which python3

现在在最后一个命令中复制python3的路径结果并将其放在以下命令中:

1
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访问权限。没有它我没有尝试过命令。如果有任何问题,请发帖。)

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