Предполагаемая причина
Судя по вашим идентификаторам сборки, вы работаете с osx-64 платформой. Требования к зависимостям для SymTopo выглядят странно для всех сборок osx-64 , в частности, для них требуется pymatgen=2019.4.11.*
, которых при поиске в Anaconda Cloud просто не существует. Однако в сборках linux-64 это требование равно pymatgen>=2019.4.11
, поэтому я думаю, что автор сделал это неправильно, поэтому вы не можете разрешить согласованную конфигурацию пакета.
Возможные обходные пути
Кроме того, что вы связываетесь с автором и просите его опубликовать несколько рабочих сборок, я думаю, у вас есть два возможных варианта действий:
- Принудительная установка
- Использование PyPI Builds
В любом случае, предположите, что результирующий env будет хрупким, поэтому постарайтесь избежать дальнейших ненужных установок в него.
Принудительная установка
Если мы предположим, что pymatgen=2019.4.11.*
действительно должно быть pymatgen>=2019.4.11
, тогда вы можете просто установить все предварительные требования (см. YAML в следующем разделе), а затем использовать
conda install -n my_env --no-deps materiae::symtopo
Возможно, стоит попробовать,но справка Conda (conda install -h
) недвусмысленно предупреждает, что выполнение этого не несет никаких гарантий.
Использование сборок PyPI
Другим способом решения этой проблемы может быть включение взаимодействия Pip вКонда , хотя это относительно экспериментальная функция. Стратегия будет такой:
- Создайте env, установив все необходимые компоненты в виде набора пакетов Conda и PyPI.
- Включите совместимость Pip только для этого env .
- Установите SymTopo из Conda.
Я проверил это и получил его для работы со следующим YAML в качестве исходного определения env:
symtopo-prereqs.yaml
name: symtopo_env
channels:
- conda-forge
- defaults
dependencies:
- python=3.7
- h5py=2.9.0
- phonopy=2.1.3
- pip
- pip:
- abipy==0.6.0
- pymatgen==2019.4.11
Команды будут:
conda env create -f symtopo-prereqs.yaml
conda activate symtopo_env
conda config --env --set pip_interop_enabled true
conda install materiae::symtopo
Опять же, я бы посчитал этот env довольно хрупким ( по причинам, указанным здесь ) и избегайте дальнейших установок.
Обратите внимание, что использование abipy
из рекомендованного канала привело к конфликтам, поэтому я решил просто использовать версию PyPI. К сожалению, это приводит к большому количеству пакетов, поступающих из PyPI, но он все устанавливает.