gpt4 book ai didi

setup.py 中的 Python 包名称与 pip 名称

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:59 26 4
gpt4 key购买 nike

当我在 setup.py 文件的 install_requires 条目中列出依赖项时,我如何指定为了安装给定的包,必须使用不同的名称传递给 pip 的不是包名?

例如,我可以使用pip来安装pyinterval from PyPI ,然后我可以通过执行 from interval import interval, inf, imath 或类似操作在我的代码中使用它。有没有办法告诉 SetupTools pyinterval 实体“提供”interval 包或其他东西?

编辑:我找到了 packaging glossary ,这为我阐明了“分发包”和“导入包”之间的术语差异。在我的例子中,pyinterval 是分发包,它提供了 interval 导入包。

最佳答案

您不需要告诉安装工具每个依赖项提供的“命令”是什么。您只需要按名称安装包,即 pyinterval。由您决定哪个包提供哪个“命令”,在这种情况下,pyinterval 包提供了 interval“命令”,它实际上是一个入口点(详见下一段)。

这种包注册键,其他包可以查询和使用的功能通常是通过入口点来实现的,你可以在下面的链接中阅读更多关于它的例子: http://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/creation.html#entry-points

总而言之,只需告诉 setuptools 你的库需要哪些包,你可以在 GitHub 中找到很多示例:

https://github.com/search?l=Python&o=asc&p=6&q=install_requires&ref=searchresults&s=indexed&type=Code&utf8=%E2%9C%93

例如检查 Flask 的: https://github.com/pallets/flask/blob/master/setup.py

关于setup.py 中的 Python 包名称与 pip 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705266/

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