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

时间:2017-02-21 20:37:14

标签: python python-2.7 virtualenv

我的系统正在运行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'

我开始谷歌这个新的错误消息,但没有看到任何似乎与这种情况相关的东西。有任何想法吗?即使我可以在我的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

3 个答案:

答案 0 :(得分:7)

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

conda create -n py35 python=3.5

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

source activate py35

答案 1 :(得分:1)

尝试以下命令:

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

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

答案 2 :(得分:1)

尝试 Windows

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