Добавьте требования из require.txt в conda meta.yaml - PullRequest
0 голосов
/ 28 апреля 2020

Я пишу Python пакет, который хочу опубликовать sh на pypi и conda. Чтобы избежать ошибок, я хотел бы хранить требования в одном файле; по крайней мере, в обозримом будущем они одинаковы.

Легко go из meta.yaml в setup.py (например, через pyyaml), однако как насчет обратного? Как я могу внедрить требования в meta.yaml?

Есть ли что-то вроде:

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

Какова лучшая практика для этого сценария?

1 Ответ

0 голосов
/ 28 апреля 2020

Трудно понять, кто такой ниндзя, но это работает:

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

Удивительно сложно понять, почему, хотя load_setup_py_data(), кажется, вызывается несколько раз в течение conda-build, а иногда он возвращает пустое значение. dict без install_requires, поэтому .get вернет None.

...