环境不一致,请仔细检查包装图


129

我尝试从anaconda更新或安装新软件包,最近,此消息出现了:

The environment is inconsistent, please check the package plan carefully
The following package are causing the inconsistency:

   - defaults/win-32::anaconda==5.3.1=py37_0

done

我尝试过conda clean --all,然后conda update --all仍然存在。

康达资讯

active environment : base
    active env location : C:\Users\NAME\Continuum
            shell level : 1
       user config file : C:\Users\NAME\.condarc
 populated config files : C:\Users\NAME\.condarc
          conda version : 4.6.11
    conda-build version : 3.17.7
         python version : 3.7.3.final.0
       base environment : C:\Users\NAME\Continuum  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-32
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-32
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-32
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-32
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\NAME\Continuum\pkgs
                          C:\Users\NAME\.conda\pkgs
                          C:\Users\NAME\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\NAME\Continuum\envs
                          C:\Users\NAME\.conda\envs
                          C:\Users\NAME\AppData\Local\conda\conda\envs
               platform : win-32
             user-agent : conda/4.6.11 requests/2.21.0 CPython/3.7.3 Windows/10 Windows/10.0.17763
          administrator : False
             netrc file : None
           offline mode : False

Answers:


84

我曾经遇到过同样的问题。只需运行

conda install anaconda

为我解决了问题。


1
我有同样的问题,我按照您的建议做了。但是我仍然有矛盾之处。我正在运行osx-64,您也运行osx吗?
pink.slash

是的,我有macOS Mojave v10.14.4。
mm49307

2
我收到的错误conda update --all,因此它不能解决问题(在某些情况下),但conda install似乎可以解决(并更新列表中的其他软件包)
Giacomo Catenazzi

8
对我来说,解决方案分为两个步骤:首先,conda install anaconda它刚安装了anaconda软件包并删除了一个conda软件包,并更新了一些依赖项。然后我跟着它,conda update --all一切都很好!我的系统是Ubuntu 18.04,更新spyder软件包后遇到了这个问题,这conda本身也导致了更新,这导致了不一致。
MF.OX,

conda install anaconda尽管我不得不等待超过5分钟才能让conda提出一个打包计划,但它也为我工作。
萨哈尔

51

Google网上论坛上看到了

此消息是在conda 4.6.9中添加的,以前,除非conda在调试模式下运行,否则没有任何迹象表明conda检测到不一致的环境。您的环境可能有一段时间不一致,但是升级到conda使其可见。最好的选择是对不一致的软件包运行“ conda install package_name”,以使conda尝试恢复一致性。

它确实对我有用。

也许您应该conda install anaconda根据自己的情况尝试。


8
对于我所有的conda环境而言,不一致的环境都是一个棘手的问题,conda install anaconda没有解决。我需要做的就是:重新安装每个单独调用的软件包。谢谢!
conner.xyz

1
@ conner.xyz我发现自己处在类似的情况,因此决定编写一段重新安装每个软件包的代码片段是一个不错的选择(请参阅下面的答案)。幸运的是,不必在多个环境中工作。
YenForYang

很好的答案-非常高兴能解释为什么会这样,以及(至少对我而言)完美的简洁解决方案。
DrAl

20

不一致是由于软件包的不同版本以及它们相互冲突的依赖性引起的。

conda update --all

此命令将更新所有软件包,然后conda自行解决不一致问题。


这是更好的答案,因为它只会更新发生冲突并导致不一致的程序包。
Rich Lysakowski Ph19年

1
这不能解决问题,因为不一致不是由依赖性引起的,而是由服务器端(即通道中)元数据更改引起的。我尝试了一下,但没有成功,但是正如链接所示,这是一个可以忽略的警告。
耶拿(Jena)

7

鉴于以下情况,

> conda update -c intel --all
Collecting package metadata: done
Solving environment: |
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - intel/win-64::ipython==6.3.1=py36_3
  - intel/win-64::prompt_toolkit==1.0.15=py36_2
done

如在其他答案中所提到的,想法是对install不一致的软件包进行某种处理。

因此,使用一些复制粘贴,您可以:

> conda install intel/win-64::ipython==6.3.1=py36_3
Collecting package metadata: done
Solving environment: /
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - intel/win-64::ipython==6.3.1=py36_3
  - intel/win-64::prompt_toolkit==1.0.15=py36_2
done

## Package Plan ##

  environment location: c:\conda

  added / updated specs:
    - ipython


The following NEW packages will be INSTALLED:

  jedi               intel/win-64::jedi-0.12.0-py36_2
  parso              intel/win-64::parso-0.2.0-py36_2
  pygments           intel/win-64::pygments-2.2.0-py36_5
  wcwidth            intel/win-64::wcwidth-0.1.7-py36_6


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(并且您将不得不对所有软件包重复一次)


我的“快捷方式”

或者,准备一个(难看的)单层(这在Windows以及其他平台上都应该起作用)

注意:通过“ ORIGINAL_COMMAND”,我指的是任何会给您错误消息的命令(理想情况下,没有任何其他副作用)

<ORIGINAL_COMMAND> 2>&1 | python -c "import sys,re,conda.cli; conda.cli.main('conda','install','-y',*re.findall(r'^\s*-\s*(\S+)$',sys.stdin.read(),re.MULTILINE))"

扩展上述一线:

from re import findall, MULTILINE
from sys import stdin
from conda.cli import main

main(
    "conda", "install", "-y",
    "--force",  # Maybe add a '--force'/'--force-reinstall' (I didn't add it for the one-liner above)
    *findall(r"^\s*-\s*(\S+)$", stdin.read(), MULTILINE)  # Here are the offenders
)

5

该命令conda install -c anaconda anaconda为我解决了问题。对于我的设置,我需要指定频道,否则它将不起作用。在终端中运行命令后,系统提示我更新发现不一致的软件包列表。没有此步骤,我将无法使用conda install <package_name>conda update <package_name分别安装或更新任何软件包。


5

遇到同样的问题,没有其他解决方案对我有用。最终不得不卸载并重新安装conda,然后重新安装我的所有库。


1
为什么要下票?我尝试了许多其他解决方案,所有这些都导致有关包装不一致和conda永久旋转的同一信息。完全重新安装只花了几分钟,然后又给了我一个正常工作的系统。如果您需要保留任何有价值的环境,我显然不建议这样做。
Bas Swinckels

@BasSwinckels大声笑也许我没有足够强调其他解决方案对我没有作用。
jschabs

5

终极解决方案:

conda activate base
conda install anaconda
conda update --all

可在Windows 10和Ubuntu 18.04上使用(ubuntu的信用为@ MF.OX)。

为我删除了以下问题:

  • The environment is inconsistent
  • WARNING conda.base.context:use_only_tar_bz2(632)

谢谢,它有效。基本环境更新后,我已经激活了我的虚拟环境,并反复conda upadte --all获取# All requested packages alread installed.消息。
Hongsoog

3

如果其他解决方案不起作用,则还原环境可以解决此问题。

使用conda list --revisions,选择一个修订号,然后conda install --revision [#] 逐步使用,直到一切正常为止。


0

您可能使用python 2.7安装了anaconda,但后来使用了python3.x。因此,您收到一条错误消息。就我而言,我通过使用python 2.7激活anaconda解决了该问题:

conda create --name py2 python=2.7

0

对我有用的是conda remove <offending_packagename>conda update --all然后是最后conda install <offending_packagename>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.