如果需求没有上传二进制文件,如何安装Python依赖关系?

问题描述 投票:0回答:1

我在使用Pipenv和Pip工具锁定安装依赖关系时遇到了问题。

问题是这样的。

我的一个依赖项是NewRelic,它在它的 实施 并没有将特定的版本钉在Protobuf库上。

当我锁定依赖关系时,产生一个 Pipfile.lock 或甚至 requirements.txt 与哈希值,它销 Protobuf 到3.12.1,这是今天的最新版本。

但不知为何,Protobuf没有与我的环境兼容的版本,安装失败。

我怎样才能在我的Pipfile中为Protobuf指定一个版本,或者让锁解决最新版本的问题呢?兼容 版本?

编辑: 还有一个未解决的问题 GitHub问题 关于Protobuf的问题。

python pip pipenv
1个回答
1
投票

按照Albert的建议,解决方案是将失败的库显式地添加到需求文件中,钉入一个与第一个库的版本兼容的版本,并且这个版本在PyPI上确实有一个sdist。

Pip很聪明,可以看到这个库已经存在,在解析子需求的时候不会再取,解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.