更新:
事实证明,virtualenv 在运行之前没有正确初始化easy_install
。一旦这个问题得到纠正,事情就开始按预期工作了。没有解决方案可以发布,因为所述问题首先不存在。'当我激活 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 作为其依赖项foo=1.2
中的依赖项。
当我激活 virtualenv 并尝试运行python <my_egg>/setup.py develop
时,出现错误:
Processing dependencies for <my egg>
Installed distribution foo 2.0 conflicts with requirement foo==1.2
我什至修补了在引发此异常的语句中setuptools/command/easy_install.py
打印。路径没问题,列第一,远第二。sys.path
try
foo-1.2
foo-2.0
我究竟做错了什么?有没有办法让easy_install忽略非virtualenvfoo-2.0
安装并foo-1.2
在virtualenv内部接受?
sys.path
从我的鸡蛋里面去除有问题的条目setup.py
并没有帮助。虽然sys.path
仅包含 的正确版本foo
,但该过程失败并出现相同的错误。