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

use*_*531 3 python virtualenv python-2.7

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

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

但得到了这个错误:

$ virtualenv -p python3 venv
The path python3 (from --python=python3) does not exist
Run Code Online (Sandbox Code Playgroud)

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

$ module load python/3.4.3
$ virtualenv -p python3 venv
-bash: virtualenv: command not found
Run Code Online (Sandbox Code Playgroud)

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

$ module unload python
$ module load python/2.7
$ which virtualenv
/local/apps/python/2.7.3/bin/virtualenv
Run Code Online (Sandbox Code Playgroud)

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

$ 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'
Run Code Online (Sandbox Code Playgroud)

$ 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'
Run Code Online (Sandbox Code Playgroud)

我开始谷歌这个新的错误消息,但没有看到任何似乎与这种情况相关的东西.有任何想法吗?即使我可以virtualenv安装在我的Python 3.4模块上,我仍然无法将其升级到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
Run Code Online (Sandbox Code Playgroud)

更多背景信息:

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

$ which python
/local/apps/python/3.4.3/bin/python
Run Code Online (Sandbox Code Playgroud)

Tom*_*nch 7

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

conda create -n py35 python=3.5
Run Code Online (Sandbox Code Playgroud)

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

source activate py35
Run Code Online (Sandbox Code Playgroud)