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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果需求没有上传二进制文件,如何安装Python依赖关系?相关的知识,希望对你有一定的参考价值。

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

问题是这样的。

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

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

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

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

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

答案

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

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

以上是关于如果需求没有上传二进制文件,如何安装Python依赖关系?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 脚本将文件上传到共享点站点

C#如何编译为二进制可执行文件?

如何使用Git LFS上传超过100M的二进制文件到GitHub,及GitHub加速解决方案

python实现上传文件到linux指定目录

Python接口测试,requests库的post请求进行文件上传

smartupload上传文件保存在tomcat服务器之后,如果我删除缓存文件,就没有文件了,如何解决