#python #anaconda #conda #conda-build
#python #anaconda #conda #conda-build
Вопрос:
Я пытаюсь создать пакет conda, используя сборку conda и meta.файл yaml. Большинство зависимостей обрабатываются просто отлично, но некоторые из них вызывают проблемы. Я знаю, что все эти пакеты работают вместе, потому что я использую их в своей среде разработки.
Раздел моих требований к файлу yaml выглядит следующим образом:
requirements:
build:
- setuptools
- numpy
- python >=3.6
- matplotlib
- rdkit
- openforcefield
- openeye
- networkx
- psi4
run:
- numpy
- python >=3.6
- matplotlib
- rdkit
- openforcefield
- openeye
- networkx
- psi4
Все пакеты, вызывающие проблемы (см. Ошибку ниже), можно установить через conda, например:
conda install -c psi4 psi4
conda install -c omnia openforcefield
conda install -c openeye openeye-toolkits
conda install -c rdkit rdkit
Однако при вызове conda build .
я получаю следующую ошибку:
conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {'rdkit', 'openeye', 'psi4', 'openforcefield'}
Я полагаю, что остальная часть .yaml верен, поскольку не было никаких ошибок, связанных с чем-либо еще. Нужно ли мне быть более конкретным / использовать какой-то специальный код для идентификации имен пакетов? Или, возможно, проблема в чем-то другом.
Спасибо за любую помощь.
Ответ №1:
Я полагаю, что нашел проблему.
Все вышеуказанные пакеты поступают из разных каналов. Добавив все каналы, я теперь продолжаю процесс сборки. Каналы добавляются с:
conda config --add channels <name of channel>
Однако может возникнуть проблема, когда дело доходит до распространения пакета. Я думаю, что другим людям, возможно, придется добавить и все остальные каналы.