我的服务器有 Python2.5 我想跳到最新的 Python(在我的例子中是 2.7.x)。我从源代码编译了 python,我下载了最新的 virtualenv (1.5.1)。
现在基本上我想做什么:
./packages/virtualenv/virtualenv.py --python=packages/Python-2.7/python env/
打字:
./packages/virtualenv/virtualenv.py
提供:
1.5.1
打字时:
packages/Python-2.7/python
提供:
Python 2.7 (r27:82500, Nov 21 2010, 23:19:15)
[GCC 4.3.2] on linux2
(cut help mesage)
>>>
但是运行virutalenv会导致:
AssertionError:文件名/packages/Python-2.7/Lib/os.py 不以以下任何前缀开头:['/usr/local']
无论这意味着什么,无论我是什么,或者我没有做错。
附: 在构建 env + python 时,我基于以下问题:How do I work around this problem creating a virtualenv environment with a custom-build Python?
最佳答案
在阅读和弄乱 this 之后.
我发现这个错误可能与在 python 运行 ./configure
时缺少 --prefix
有关。所以我已经运行了 ./configure --prefix=/Path/To/Where/I/Want/Python/After/Compilation/
(在我的例子中 $HOME/packages/Python- 2.7
),然后我输入 make
,然后输入 make install
(不使用 sudo
- 所以 python 被安全地放入我告诉它作为当前用户而不是 root)。在那之后,virtualenv 启动并没有因 AssertionError
而崩溃,并且一切都像魅力一样工作。
希望作者回答的这个问题最终会对某人有所帮助。 :)
关于python - 使用不同的 python 安装 virtualenv 时断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998969/