Конда: действовать в два этапа, чтобы избежать конфликтов - PullRequest
0 голосов
/ 18 апреля 2019

Я написал файл среды conda, чтобы собрать минимальный набор пакетов, необходимый для настройки моей среды.Скажите, что мой файл сделан из пакетов A, B, C и D как deps.При создании среды через:

conda env create -f environment.yml

я получаю, что D конфликтует без какой-либо дополнительной информации (конфликтует с A, B, C? Что является базовой конфликтующей библиотекой?),Чтобы решить эту проблему, мне нужно было выполнить два шага: 1 - создать среду, используя измененный файл среды, который содержит только пакеты A, B и C 2 - дополнительно установить D отдельно черезconda install команда.Это работает.

Это нормальное, по крайней мере, не столь необычное поведение, с которым я должен жить?Или это признак нестабильной среды, которая может привести к проблемам в будущем?

РЕДАКТИРОВАТЬ: вот мой текущий файл среды.Конфликтующий пакет является последним прокомментированным.

name: jupyterhub

channels:
  - anaconda
  - conda-forge
  - r

dependencies:
  - git
  - python
  - numpy
  - matplotlib
  - h5py
  - scipy
  - pandas
  - scikit-learn
  - sympy
  - notebook
  - jupyterlab
  - jupyterhub
  - oauthenticator 
  - configurable-http-proxy
  - gfortran_linux-64
  - openmpi
  - eigen
  - boost
  - xeus-cling
  - cmake
  - pip
  - libiconv
  - r-essentials
  - r-base
#  - mantid/label/nightly::mantid-framework

1 Ответ

1 голос
/ 20 июня 2019

Вы устанавливаете много пакетов, и ни один из них не имеет номера версии.Это нестабильно по определению.Каждый раз, когда вы устанавливаете из этого файла среды, вы можете получить различную версию любого из этих пакетов, и каждая новая версия может изменять свои предварительные требования и их версии.

С этим файлом среды вы даже не можете предсказать, какие версииPython и R будут установлены.

...