Я использую переменную jinja2 в файле рецепта исходного сырья, но conda build
не может распознать эту переменную в части host
раздела requirements
при использовании вместе с >=
.
Эта проблема не возникает в разделе run
рецепта.
Кроме того, в разделе host
эта проблема не возникает, если
- Я не использую
>=
вместе с переменной
- Я использую жестко закодированное значение вместе с
>=
Это рецепт Конды, который не работает с -
$ cat recipe / meta.yaml
package:
name: dummy-conda
version: 1.1.1
source:
path: .
requirements:
host:
- python >={{python}}
run:
- python >={{python}}
Я добавил переменную в другой файл -
$ cat conda_local_config.yaml
python:
- 3.6
И используйте эту команду для сборки
$ conda build -m conda_local_config.yaml recipe/
, который не работает с
...
Received dictionary as spec. Note that pip requirements are not supported in conda-build meta.yaml.
Это полный журнал ошибок -
$ conda build -m conda_local_config.yaml recipe/
No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.11
WARNING:conda_build.metadata:No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.11
Adding in variants from internal_defaults
INFO:conda_build.variants:Adding in variants from internal_defaults
Adding in variants from conda_local_config.yaml
INFO:conda_build.variants:Adding in variants from conda_local_config.yaml
Received dictionary as spec. Note that pip requirements are not supported
Если я изменю файл рецепта на этот
..
host:
- python {{python}}
..
или
..
host:
- python >=3.6
..
сборка работает отлично!
Edit - я открыл проблему github против conda-build, чтобы получить официальный ответ на это поведение - https://github.com/conda/conda-build/issues/3544