【发布时间】:2017-07-11 16:11:45
【问题描述】:
我的系统运行的是 CentOS 6。我没有管理员权限,所以sudo 不可用。我有可用的 Python 2.7.3 以及 pip 和 virtualenv。我希望我可以使用这些来设置一个新的虚拟环境来安装和运行 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 搜索这条新的错误消息,但没有看到任何与这种情况相关的信息。有任何想法吗?即使我可以在我的 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
【问题讨论】:
-
要为python3.5创建一个virtualenv,你必须在你的操作系统上安装python3.5;你能用
python3打开python shell吗?我认为基于python3.4创建virtualenv时应该是virtualenv python3.4 venv -
既然我不能从源代码安装 Python 3.x,我猜我就不可能安装 Python 3.5+ 了?运行
virtualenv -p /local/apps/python/3.4.3/bin/python venv似乎确实可以正确创建虚拟环境,尽管它仍然没有根据需要运行 Python 3.5+。
标签: python python-2.7 virtualenv