我对最新的 pip 有疑问。 我的问题如下:
- 我有一个 python 项目,其中的 setup.py 定义了其依赖项。
- 其中之一是自定义 jenkins-job-builder,我想从托管在 Stash 上的自定义 Git 存储库安装它。
- 它在旧版 pip 上运行良好,但随着 pip 1.5 安全性的改进,我无法找到正确安装所有内容的方法。我的 pip 确切版本是 1.5.4。
更具体地说:
在我的 setup.py 中,我有:
install_requires = [
#... stuff
'compcomp==0.8.2beta',],
dependency_links= [
# depends on Hotel jobs builder to have Hg support !
'git+http://<blablalba>/compcomp.git#egg=compcomp-0.8.2beta'
],
我尝试在项目的根目录(从新创建的 virtualenv)运行以下命令。
- 如果我运行“pip install -e .”,我会得到:...一些外部托管的文件被忽略(使用 --allow-external 来允许)... .
- 如果我尝试“pip install --allow-external compcomp -e .”,我会得到完全相同的(!)相同的错误。
- 如果我尝试“pip install --allow-all-external -e .”,我得到:...一些不安全且无法验证的文件被忽略(使用 --allow-unverified compcomp 来允许)。
- 如果我尝试“pip install --allow-all-external --allow-unverified compcomp -e .”,我会收到与之前相同的错误。
我不确定我是否理解这里发生的情况,似乎我无法定位 setup.py 中定义的依赖项:S。
任何人都知道可能会出现什么问题吗?我用谷歌搜索了一段时间,没有找到任何线索。
编辑:
我正在调试 pip 代码以了解出了什么问题,看起来我从 pip 收到的警告不正确。
其他一些依赖项(准确地说是 mox,最后会下载)将 pip 属性“need_warn_unverified”设置为 True,但随后我收到警告消息“忽略了一些不安全且无法验证的文件(使用 --allow-未经验证的 compcomp 允许)”谈论我的组件。
我猜这是 pip 中的一个错误,但我仍然不明白为什么我的依赖项从未找到。
最佳答案
经过一番挖掘,我发现这个问题与我从 pip 收到的警告无关。我只需将 --process-dependency-links
添加到对 pip install
的调用中。所以我猜当 pip 找不到依赖项并且另一个依赖项引发警告时,它会得到一个简单的误导性信息。
关于python - Pip 1.5 和 setup.py 中设置的 git 依赖项不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024589/