从requirements.txt向conda meta.yaml添加需求

问题描述 投票:0回答:1

我正在编写一个要在pypi和conda上发布的Python包。为避免错误,我想将需求存储在一个文件中;至少在可预见的将来,它们是相同的。

从meta.yaml到setup.py(例如通过pyyaml)很容易,但是相反呢?如何将需求注入meta.yaml?

是否有类似的东西:

{% set data = load_setup_py_data() %}
...
requirements:
  run:
    {{ data.get('install_requires') }}

此方案的最佳实践是什么?

python anaconda dependencies pypi requirements.txt
1个回答
0
投票

很难想出一个jinja noob,但这行得通:

requirements:
  run:
    {% for req in data.get('install_requires', []) %}
      - {{ req }}
    {% endfor %}

令人惊讶地很难理解为什么,但是load_setup_py_data()conda-build期间似乎多次被调用,并且有时它返回一个空的dict而没有install_requires,因此.get会返回一个None

© www.soinside.com 2019 - 2024. All rights reserved.