Пакеты Conda, не распознанные сборкой conda?

#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>
  

Однако может возникнуть проблема, когда дело доходит до распространения пакета. Я думаю, что другим людям, возможно, придется добавить и все остальные каналы.