python – 在setuptools setup.py文件中引用install_requires kwarg的requirements.txt

python – 在setuptools setup.py文件中引用install_requires kwarg的requirements.txt,第1张

概述我有一个我在Travis-CI上使用的requirements.txt文件.在requirements.txt和setup.py中复制需求似乎很愚蠢,所以我希望将文件句柄传递给setuptools.setup中的install_requires kwarg. 这可能吗?如果是这样,我该怎么做呢? 这是我的requirements.txt文件: guessit>=0.5.2tvdb_api>=1. 我有一个我在Travis-CI上使用的requirements.txt文件.在requirements.txt和setup.py中复制需求似乎很愚蠢,所以我希望将文件句柄传递给setuptools.setup中的install_requires kwarg.

这可能吗?如果是这样,我该怎么做呢?

这是我的requirements.txt文件:

guessit>=0.5.2tvdb_API>=1.8.2hachoir-Metadata>=1.3.3hachoir-core>=1.3.3hachoir-parser>=1.3.4
解决方法 你可以翻转它并在setup.py中列出依赖项,并有一个字符 – 一个点. – 在requirements.txt中.

或者,即使不建议,仍然可以使用以下Hack(使用pip 9.0.1测试)解析requirements.txt文件(如果它没有通过URL引用任何外部要求):

install_reqs = parse_requirements('requirements.txt',session='Hack')

但这并不过滤environment markers.

在旧版本的pip中,更具体地说是older than 6.0,有一个可用于实现此目的的公共API.需求文件可以包含注释(#),并且可以包含一些其他文件(–requirement或-r).因此,如果你真的想解析一个requirements.txt,你可以使用pip解析器:

from pip.req import parse_requirements# parse_requirements() returns generator of pip.req.installrequirement objectsinstall_reqs = parse_requirements(<requirements_path>)# reqs is a List of requirement# e.g. ['django==1.5.1','mezzanine==1.4.6']reqs = [str(ir.req) for ir in install_reqs]setup(    ...    install_requires=reqs)
总结

以上是内存溢出为你收集整理的python – 在setuptools setup.py文件中引用install_requires kwarg的requirements.txt全部内容,希望文章能够帮你解决python – 在setuptools setup.py文件中引用install_requires kwarg的requirements.txt所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1191028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存