程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用 --no-binary 标志指示 pip 安装需求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用 --no-binary 标志指示 pip 安装需求?

开发过程中遇到如何使用 --no-binary 标志指示 pip 安装需求的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用 --no-binary 标志指示 pip 安装需求的解决方法建议,希望对你解决如何使用 --no-binary 标志指示 pip 安装需求有所启发或帮助;

我要打包一个依赖于 protobuf 的应用程序。 protobuf 必须像这样安装:

@H_674_6@pip install protobuf --no-binary=protobuf protobuf

如何将其包含在我的 setup.py install_requires 中?

注意:我的要求要求此过程自动通过 setup.py。

我知道 this 和 this

因此,我尝试在 install_requires 或 requirements.txt 中包含这些内容,但没有成功:

@H_674_6@#requirements.txt protobuf --no-binary=protobuf

如何在打包应用程序时为安装 --no-binary=protobuf protobuf 提供 pip(我知道是 protobuf 标志)?

更新: 我想要的是 protobuf 包以我在安装包时提到的方式安装:

@H_674_6@`pip install my_package.whl`

解决方法

@H_696_47@使用 requirements.txt 文件安装

我想您可以简单地在同一行添加标志。这对我有用:

@H_674_6@# requirements.txt protobuf --no-binary protobuf pandas

使用这个 requirements.txt,protobuf 安装时没有二进制文件,而 pandas 仍然安装了 .whl

通过运行 pip install -r requirements.txt,您将获得如下结果:

@H_674_6@$ pip install -r requirements.txt CollecTing pandas ... CollecTing protobuf Using cached protobuf-3.17.3.tar.gz (228 kB) Skipping wheel build for protobuf,due to binaries being disabled for it. Installing collected packages: protobuf,pandas Running setup.py install for protobuf ... done successfully installed pandas-1.1.5 protobuf-3.17.3

在打包库中自动安装

如果您想在没有二进制文件的情况下包含对 protobuf 的依赖项,并且您使用 setup.py 文件打包您的库,您可以在 package@http://link/to/package.tar.gz 中包含 install_requires setup 的参数。

from setuptools import setup,find_packages

setup(
    name='your package`,version='0.1',packages=find_packages(),install_requires=[
        'click','pyyaml','protobuf@https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-python-3.17.3.tar.gz'
    ]
)

此解决方案的缺点是它还指定了依赖项的版本。

希望这有帮助!

大佬总结

以上是大佬教程为你收集整理的如何使用 --no-binary 标志指示 pip 安装需求全部内容,希望文章能够帮你解决如何使用 --no-binary 标志指示 pip 安装需求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。