将requirements.txt中的要求添加到conda meta.yaml中。

7
我正在编写一个Python包,希望在pypi和conda上发布。为了避免错误,我希望将要求存储在单个文件中;至少在可预见的未来,它们是相同的。
很容易从meta.yaml转到setup.py(例如通过pyyaml),但反过来呢?我该如何将要求注入meta.yaml中?
是否有类似以下内容的东西:
{% set data = load_setup_py_data() %}
...
requirements:
  run:
    {{ data.get('install_requires') }}

这种情况下最佳实践是什么?

1个回答

6

对于 Jinja 新手来说很难理解,但这样做可行:

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

令人惊讶的是,很难确定原因,但在conda-build期间load_setup_py_data()似乎被调用了多次,并且有时它返回一个空字典而没有install_requires,所以.get会返回None


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接