gpt4 book ai didi

python - easy_install 'develop' 命令在 virtualenv 中无法工作

转载 作者:行者123 更新时间:2023-12-01 06:01:16 25 4
gpt4 key购买 nike

更新:

事实证明,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忽略非virtualenv foo-2.0安装并验收foo-1.2在虚拟环境中?

正在从 sys.path 中删除有问题的条目在我的鸡蛋里setup.py没有帮助。而sys.path仅包含 foo 的正确版本,该过程失败并出现相同的错误。

最佳答案

除了您直接遇到的情况之外,还有另一种可能发生这种情况的情况,但很容易避免:

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

关于python - easy_install 'develop' 命令在 virtualenv 中无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com