将需求从 requirements.txt 添加到 conda meta.yaml
Posted
技术标签:
【中文标题】将需求从 requirements.txt 添加到 conda meta.yaml【英文标题】:Add requirements from requirements.txt to conda meta.yaml 【发布时间】:2020-08-12 13:44:16 【问题描述】:我正在编写一个 Python 包,我想在 pypi 和 conda 上发布它。为避免错误,我想将需求存储在一个文件中;至少在可预见的未来,它们是相同的。
从 meta.yaml 到 setup.py 很容易(例如通过 pyyaml),但是反过来呢?如何将需求注入 meta.yaml?
有没有类似的:
% set data = load_setup_py_data() %
...
requirements:
run:
data.get('install_requires')
此方案的最佳做法是什么?
【问题讨论】:
【参考方案1】:很难找出一个 jinja 菜鸟,但这是可行的:
requirements:
run:
% for req in data.get('install_requires', []) %
- req
% endfor %
出人意料地难以弄清楚为什么,但 load_setup_py_data()
似乎在 conda-build
期间被多次调用,有时它返回一个没有 install_requires 的空字典,所以 .get
会返回一个 None
。
【讨论】:
以上是关于将需求从 requirements.txt 添加到 conda meta.yaml的主要内容,如果未能解决你的问题,请参考以下文章
Python将依赖包导出到requirements.txt文件
Python将依赖包导出到requirements.txt文件
Pycharm如何为Python程序添加requirements.txt
PyCharm 没有导出正确的 requirements.txt