Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用不同的python安装virtualenv时出现断言错误_Python_Virtualenv - Fatal编程技术网

使用不同的python安装virtualenv时出现断言错误

使用不同的python安装virtualenv时出现断言错误,python,virtualenv,Python,Virtualenv,我的服务器有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

我的服务器有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:Filename/packages/Python-2.7/Lib/os.py不以以下任何前缀开头:['/usr/local']

不管这意味着什么,不管我是谁,或者我没有做错什么

附言。
在构建env+python的过程中,我在阅读并处理了以下问题后,基于问题:

我发现这个错误可能与运行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而崩溃,一切都像一个符咒


希望作者回答的这个问题最终能帮助别人。:)

我没有足够的代表将此作为评论添加,这个问题已经问了3年了,但这可能对某人有用。在Windows中,您必须指向python.exe,但在Linux/OS X中,您似乎只需要指向文件夹的路径。例如:

窗口:

virtualenv -p <PATH TO PYTHON.EXE> venv
virtualenv-p-venv

在当前目录的子文件夹“venv”中创建虚拟环境。

我没有足够的代表添加评论。回答拯救我的一天。我正在使用windows

我得到了一个错误:

AssertionError: Filename C:\Python35\Lib\os.py does not start with any of these prefixes: ['c:\\python35', 'c:\\python35']
我必须运行这个-

virtualenv -p C:\Python35\python.exe venv
还需要从以管理员身份打开的cmd运行此命令。否则会导致错误

PermissionError: [WinError 5] Access is denied

有足够的代表发表评论的人,请将此作为评论添加到回答中。然后我会澄清我的问题。

“希望作者回答的这个问题最终能帮助别人。”确实如此。谢谢。我在没有使用./configure的Windows 7上遇到了这个问题。在Windows上,我通过新安装修复了这个问题-请参阅://,您能否使用相对的
--前缀
参数编译
Python
?也就是说,如果编译的
Python
被移动,通过
--prefix
给出的相对路径会保持相对吗?这对我(在Ubuntu上)是有效的,只是当我意识到路径/to/Python不能与解压缩tar.gz的目录相同时。