Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建康达环境:“创建康达环境”;发现冲突&引用;在解决环境问题时,以及;“寻找最短冲突路径”;长跑_Python_Ubuntu_Dependencies_Conda_Environment - Fatal编程技术网

Python 创建康达环境:“创建康达环境”;发现冲突&引用;在解决环境问题时,以及;“寻找最短冲突路径”;长跑

Python 创建康达环境:“创建康达环境”;发现冲突&引用;在解决环境问题时,以及;“寻找最短冲突路径”;长跑,python,ubuntu,dependencies,conda,environment,Python,Ubuntu,Dependencies,Conda,Environment,我被提供了一个environment.ubuntu.yml文件来创建一个conda环境。但是,运行conda create env--file environment.ubuntu.yml会得到以下输出: conda env create --file environment.ubuntu.yml Collecting package metadata (repodata.json): done Solving environment: - Found conflicts! Looking f

我被提供了一个
environment.ubuntu.yml
文件来创建一个conda环境。但是,运行
conda create env--file environment.ubuntu.yml
会得到以下输出:

conda env create --file environment.ubuntu.yml
Collecting package metadata (repodata.json): done
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining fontconfig:   5%|▉                 | 10/202 [00:00<00:00, 5393.91it/ ]
Comparing specs that have this dependency:   0%|         | 0/12 [00:00<?, ?it/s]
Finding shortest confli|  path for fontconfig==2.13.1=he4413a7_1000:  12%|▏| 1/8
Finding shortest conflict path for fontconfig==2.13.1=he4413a7_1000:  25%|▎| 2/8
Finding shortest conflict pa/  for fontconfig[version='>=2.13.0,<3.0a0']:  25%|
Finding shortest conflict path for fontconfig[version='>=2.13.0,<3.0a0']:  38%|
Finding shortest conf- ct path for fontconfig[version='>=2.11.1']:  38%|▍| 3/8 [
Finding shortest conflict path for fontconfig[version='>=2.11.1']:  50%|▌| 4/8 [
Finding shortest conflict pa|  for fontconfig[version='>=2.12.4,<3.0a0']:  50%|
...

在我的例子中,我替换了一些构建版本(
..=he4413a7_1000
部分),因为原始文件中的版本在
conda forge
上被重新标记为
breaked
。但是,即使这些依赖项的版本号没有更改,它们的子依赖项也发生了更改,导致了所有这些冲突。底线是:不要手动处理依赖项


我通过保留原始构建版本规范,并将
conda forge/labels/breaked
添加到
.yml
文件的
通道部分,解决了这个问题。

对于我来说,最好的做法是:

哪条python
(确认它在anaconda3容器中)

请注意哪个版本与Anaconda使用的版本(这里是3.7.3)相匹配(因为我正在创建一个新的环境,所以我可以使用与Anaconda本身使用的相同版本的Python)。请注意,我在conda频道(上面的conda搜索)中的列表只显示了一行3.7.3

然后这样做:

conda create -n myenv python=3.7.3 anaconda

运行最后一个命令花费了大约1分钟:)

一般来说,这个问题的答案是您应该从头开始创建.yml,只需要使用所需的通道和约束。您应该放松版本约束,使它们看起来只像1.19,而不是1.19.10

然而,尽管遵循了这个建议,我现在几乎完全有你的问题。它在fontconfig上花了很多小时,我在放弃前一夜就离开了它。我的规范非常简单:

channels:
  - conda-forge
  - usgs-astrogeology
  - defaults
dependencies:
  - python=3.6
  - isis3
  - gdal=2.3
当我弄明白后,我会编辑它


编辑:此处正在讨论此问题(特定于我试图设置的软件,可能对其他人没有帮助)

此错误和随后的行为很可能来自,这会不时导致本地环境中的不一致。截至2020年1月26日,该漏洞尚未解决


对我来说,同样的问题在Mac上也有深刻的体现。

我遇到了这个问题并解决了它。 首先,我使我的anaconda版本与yaml文件导出的位置一致。这可能是无用的,但我认为一致的CONDA版本可以保证一致的基础环境。
其次,我删除了所有依赖项,但删除了一些我实际上想在yaml文件中使用的“main”包。这意味着让这些“main”包处理依赖项问题。

我在windows 10上也遇到了同样的问题,从2020年2月17日起使用pycharm和anaconda(python 3.7)的最新版本。奇怪的是,在pycharm的设置中切换项目解释器页面上的“use conda package manager”允许我正常更新numpy和安装软件包。尝试在不使用conda软件包管理器和conda软件包管理器的情况下安装软件包。祝你好运

对于我来说,将以下内容添加到yaml文件是有效的:

channels:
  - conda-forge
  - defaults
  - conda-forge/label/broken

是啊,真是一团糟。从哪里开始。。。这很可能是不必要的(如果你不在中国,你肯定不需要那些中国镜像频道)。我对我们直接帮你解决这件事感到失望。您最好的机会是,如果您确实有一些代码库,您正试图运行。GREP表示导入语句,然后只保留导入的内容。如果某个东西在Conda中有一个等价的包,那么它应该从
pip
部分移走,但这只是一个好的实践,并没有朝着创建环境的目标移动太多。@merv我担心这就是答案。我只是好奇为什么它要检查冲突路径,比如
version='>=2.12.6,我不完全确定。如果我不得不猜测的话,似乎当Conda进入冲突解决模式时,它将显式的spec
fontconfig=2.13.1
视为另一个约束,以及来自所有依赖它的包的约束(例如,
fontconfig[version='>=2.12.6,
channels:
  - conda-forge
  - usgs-astrogeology
  - defaults
dependencies:
  - python=3.6
  - isis3
  - gdal=2.3
channels:
  - conda-forge
  - defaults
  - conda-forge/label/broken