easy_install“develop”命令在virtualen中无法工作

2024-04-30 03:05:35 发布

您现在位置:Python中文网/ 问答频道 /正文

更新:

结果是在运行easy_install之前,virtualenv没有正确初始化。一旦这一点得到纠正,事情就开始按计划工作了。没有办法张贴,因为所说的问题根本不存在。当我激活virtualenv时,这个步骤没有正确执行(不要问),所以下面的故障是一个错觉。在

案件结案。在

原始问题:

我有个虚拟人。在里面,sys.path看起来像这样:

[...,
 '/<inside_virtualenv>/lib/python2.6/site-packages/foo-1.2.egg',
 ...
 '/usr/local/lib/python2.6/dist-packages/foo-2.0.egg'
]

如果我import foo从virtualenv内部导入foo-1.2。在

我有一个egg;它的安装文件将另一个egg作为依赖项列出,它的依赖项中有foo=1.2。在

当我激活virtualenv并尝试运行python <my_egg>/setup.py develop时,我得到一个错误:

^{pr2}$

我甚至修补了setuptools/command/easy_install.py,以便在引发此异常的try语句内打印sys.path。路径是正确的,首先列出foo-1.2,其次是foo-2.0远处。在

我做错什么了?有没有办法让easy install忽略非virtualenv foo-2.0安装,并接受virtualenv中的foo-1.2?在

从我的蛋的sys.path中删除setup.py中的有问题的条目没有帮助。当sys.path只包含foo的正确版本时,该进程将失败并返回相同的错误。在


Tags: installpathpyvirtualenvfooegglibpackages
1条回答
网友
1楼 · 发布于 2024-04-30 03:05:35

还有另一种可能发生这种情况的情况,除了你直接经历的那种情况,但很容易避免:

当设置一个新的virtualenv时,使用 no-site-packages来避免包含系统Python安装中的库,除非您确定它们不会(也永远不会)冲突。在

相关问题 更多 >