Anaconda 康达:分两步进行以避免冲突

Anaconda 康达:分两步进行以避免冲突,anaconda,conda,miniconda,Anaconda,Conda,Miniconda,我编写了一个conda环境文件,以收集设置环境所需的最少包集。假设我的文件是由包A、B、C和D作为deps组成的。通过以下方式创建环境时: conda env create -f environment.yml 我发现D在没有任何附加信息的情况下发生冲突(与A,B,C?哪一个是底层冲突库?)。为了解决这个问题,我必须分两步进行:1-使用修改过的环境文件创建环境,该文件只包含a、B和C软件包;2-另外通过conda install命令分别安装D。它起作用了 这是我应该忍受的正常行为,至少不是不寻

我编写了一个conda环境文件,以收集设置环境所需的最少包集。假设我的文件是由包
A
B
C
D
作为deps组成的。通过以下方式创建环境时:

conda env create -f environment.yml
我发现
D
在没有任何附加信息的情况下发生冲突(与
A
B
C
?哪一个是底层冲突库?)。为了解决这个问题,我必须分两步进行:1-使用修改过的环境文件创建环境,该文件只包含
a
B
C
软件包;2-另外通过
conda install
命令分别安装
D
。它起作用了

这是我应该忍受的正常行为,至少不是不寻常的行为吗?或者这是一个不稳定环境的迹象,可能导致未来的麻烦

编辑: 这是我当前的环境文件。冲突的包是最后一个注释的包

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

您正在安装许多软件包,但没有一个具有版本号。根据定义,这是不稳定的。每次从该环境文件安装时,您都可以获得这些软件包的不同版本,每个新版本都可能会更改其先决条件及其版本


使用该环境文件,您甚至无法预测将安装哪些版本的Python和R。

您正在安装许多软件包,但没有一个软件包具有版本号。根据定义,这是不稳定的。每次从该环境文件安装时,您都可以获得这些软件包的不同版本,每个新版本都可能会更改其先决条件及其版本


使用该环境文件,您甚至无法预测将安装哪些版本的Python和R。

如果不知道具体的软件包,就无法确定或调查。我的预感可能是一个不稳定的环境的迹象。我刚刚添加了冲突环境的完整版本。里面有很多包。如果不知道具体的包,就不可能说或调查。我的预感可能是一个不稳定的环境的迹象。我刚刚添加了冲突环境的完整版本。里面有很多软件包。你是对的,有很多软件包,如果不要求严格的版本,很容易不稳定。但是,为每个软件包设置特定的版本在某种程度上打破了软件包管理器背后的理念。@Eurydice这取决于您使用它的目的。在工作中,我必须修改每一个版本,因为我必须得到法律的批准才能发货。在您的情况下,我建议为python、R、numpy、matplotlib等重要软件包指定版本,并让软件包管理器来选择依赖项。您是对的,有许多软件包在不要求严格版本的情况下容易不稳定。但是,为每个软件包设置特定的版本在某种程度上打破了软件包管理器背后的理念。@Eurydice这取决于您使用它的目的。在工作中,我必须修改每一个版本,因为我必须得到法律的批准才能发货。在您的情况下,我建议为重要的包(如python、R、numpy、matplotlib)指定版本,并让包管理器选择依赖项。