我尝试从 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:UsersNAMEContinuum
shell level : 1
user config file : C:UsersNAME.condarc
populated config files : C:UsersNAME.condarc
conda version : 4.6.11
conda-build version : 3.17.7
python version : 3.7.3.final.0
base environment : C:UsersNAMEContinuum (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:UsersNAMEContinuumpkgs
C:UsersNAME.condapkgs
C:UsersNAMEAppDataLocalcondacondapkgs
envs directories : C:UsersNAMEContinuumenvs
C:UsersNAME.condaenvs
C:UsersNAMEAppDataLocalcondacondaenvs
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
我遇到了同样的问题。简单运行
conda install anaconda
为我解决了问题。
在谷歌网上论坛上看到了这个
此消息是在 conda 4.6.9 中添加的,以前,除非 conda 在调试模式下运行,否则 conda 检测到不一致的环境时没有指示。 您的环境可能在一段时间内不一致,但升级到 conda 使其可见。 最好的选择是运行"conda install package_name"对于不一致的包,让 conda 尝试恢复一致性。
它真的对我有用。
也许你应该在你的情况中尝试conda install anaconda
。
不一致是由于包的不同版本及其冲突的依赖关系引起的。
conda update --all
此命令更新所有包,然后 conda 自行解决不一致问题。
有同样的问题,其他解决方案都不适合我。最终不得不卸载并重新安装 conda,然后重新安装我的所有库。
终极解决方案:
conda activate base
conda install anaconda
conda update --all
适用于Windows 10和Ubuntu 18.04(归功于@MF。OX for ubuntu)。
为我解决了以下问题:
The environment is inconsistent
WARNING conda.base.context:use_only_tar_bz2(632)
当我尝试更新我的base
conda 环境时,我遇到了environment is inconsistent
错误。我正在使用迷你康达。不幸的是,上面的答案都不适合我。
对我有用的是:
conda activate base
conda install conda --force-reinstall
conda install conda --force-reinstall
conda update --all
(是的,出于某种原因,有必要运行两次conda install conda --force-reinstall
!
如果其他解决方案不起作用,还原环境可以解决此问题。
使用conda list --revisions
,选择一个修订号,并使用conda install --revision [#]
逐步返回,直到一切恢复正常。
给定如下情况,
> 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
)
命令conda install -c anaconda anaconda
为我做了这个技巧。对于我的设置,我需要指定通道,否则它将无法正常工作。在终端中运行命令后,系统提示我更新发现不一致的软件包列表。如果没有此步骤,我将无法分别使用conda install <package_name>
或conda update <package_name
安装或更新任何软件包。
对我有用的是
`conda remove <offending_packagename>`,
`conda update --all`
然后最后
`conda install <offending_packagename>`.
对于我们这些拥有miniconda并且不能/不想安装anaconda的人:接受的答案在适应时有效。
conda install conda
conda update --all
会发表评论,但我的代表太低了。
这个问题我已经有很长时间了。conda install anaconda
可能会起作用,但它需要太长时间 - 在我的机器上超过24小时。
这是一个在 5 分钟内对我有用的解决方案:
- 删除所有不需要的包 - 小心地留下那些对conda操作至关重要的包。
- 然后,使用
conda install anaconda
.
但是怎么做?? 有很多!
这是我所做的:
- 用蟒蛇做一个新鲜的,相当简陋。 然后,列出其中的包:
conda create -n fresh python
conda activate fresh
conda list
保存输出,您将需要它。 1b. 回到基地环境:
conda deactivate
- 使用以下代码片段生成将删除所有不一致包的
conda
命令:
(好的包装是)
exclusion_text = '''
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
anyio 2.2.0 py39h06a4308_1
argon2-cffi 20.1.0 py39h27cfd23_1
async_generator 1.10 pyhd3eb1b0_0
...
。等等!从良好的环境中获取此内容。
请注意在python中使用三引号(''')来使用多行字符串。
bad_packages_text = '''
- https://repo.continuum.io/pkgs/main/linux-64/networkx-2.1-py36_0.tar.bz2/linux-64::networkx==2.1=py36_0
- https://repo.continuum.io/pkgs/main/linux-64/spyder-3.2.6-> py36_0.tar.bz2/linux-64::spyder==3.2.6=py36_0
py36h4c697fb_0.tar.bz2/linux-64::jdcal==1.3=py36h4c697fb_0
- defaults/noarch::jupyterlab_server==1.1.4=py_0
- defaults/linux-64::argh==0.26.2=py37_0
...
。等等!通过复制粘贴"以下包导致不一致"消息来获取此信息。
然后,在 Python 中,处理这个:
exclusions = [line.split(' ')[0] for line in exclusion_text_lines if line !='']
bad_packages_lines = bad_packages_text.split('n')
bad_packages = [line.split('::')[1].split('==')[0] for line in bad_packages_lines if line!='']
exclusions.append('conda') # make sure!
exclusions.append('tqdm')
最后,构建救生命令:
command_line = 'conda remove '
for bad_package in bad_packages:
if bad_package not in exclusions:
command_line = f'{command_line} {bad_package}'
command_line
由于在求解环境时,可以忽略remove
列表中的所有包,conda
不再需要考虑它们的版本,并且过程很快。
可能有人可以重构此方法以使其更容易 - 或者更好的是,升级conda
以启用快速reset base
命令。
这对我有用 - 我写这篇文章比执行这些操作花了更长的时间。
祝你好运!
为了解决此消息,我必须在base
环境中连续运行三次conda update --all
。 每次不一致的包数量减少,直到conda
说:
# 所有请求的软件包都已安装。
我在macOS Big Sur 11.6上使用conda
版本4.10.3
。
就我而言,上述方法均无效。但这在不到一分钟的时间内就成功了:
1-我再次下载了最新的安装程序(在我的情况下是miniconda)
2- 使用 -u 选项运行安装程序:
bash Miniconda3-py39_xxxx-Linux-x86_64.sh -u
3-对所有问题回答"是",让安装程序完成
4-然后我可以运行conda更新conda -all
希望这有帮助...
conda install anaconda
conda clean --all
conda update --all
为我解决问题
当我不得不卸载 osx-64 版本并安装英特尔版本时,这发生在我的 MacOS 文图拉上(请不要在花生画廊发表评论)。我在尝试"康达更新康达"时得到了这个:
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:
- defaults/osx-64::holoviews==1.15.0=py39hecd8cb5_0
- defaults/noarch::babel==2.9.1=pyhd3eb1b0_0
- defaults/osx-64::anaconda-project==0.11.1=py39hecd8cb5_0
- defaults/osx-64::jupyterlab==3.4.4=py39hecd8cb5_0
- defaults/osx-64::datashader==0.14.1=py39hecd8cb5_0
- defaults/osx-64::anaconda==2022.10=py39_0
- defaults/osx-64::hvplot==0.8.0=py39hecd8cb5_0
- defaults/osx-64::bkcharts==0.2=py39hecd8cb5_1
- defaults/osx-64::conda-build==3.22.0=py39hecd8cb5_0
- defaults/osx-64::anaconda-navigator==2.4.0=py39hecd8cb5_0
- defaults/osx-64::sphinx==5.0.2=py39hecd8cb5_0
- defaults/osx-64::_ipyw_jlab_nb_ext_conf==0.1.0=py39hecd8cb5_1
- defaults/osx-64::statsmodels==0.13.2=py39hca72f7f_0
- defaults/osx-64::dask==2022.7.0=py39hecd8cb5_0
- defaults/osx-64::anaconda-client==1.11.0=py39hecd8cb5_0
- defaults/noarch::jupyterlab_server==2.10.3=pyhd3eb1b0_1
- defaults/osx-64::numpydoc==1.4.0=py39hecd8cb5_0
- defaults/noarch::intake==0.6.5=pyhd3eb1b0_0
- defaults/osx-64::pandas==1.4.4=py39he9d5cce_0
- defaults/osx-64::jupyter==1.0.0=py39hecd8cb5_8
- defaults/osx-64::conda-repo-cli==1.0.20=py39hecd8cb5_0
- defaults/noarch::seaborn==0.11.2=pyhd3eb1b0_0
- defaults/osx-64::spyder==5.3.3=py39hecd8cb5_0
- defaults/noarch::xarray==0.20.1=pyhd3eb1b0_1
我将输出编辑到此命令中并运行它:
conda uninstall holoviews babel anaconda-project jupyterlab datashader anaconda hvplot bkcharts conda-build anaconda-navigator sphinx _ipyw_jlab_nb_ext_conf statsmodels dask anaconda-client jupyterlab_server numpydoc intake pandas jupyter conda-repo-cli seaborn spyder xarray
然后我重新编辑了命令并运行它:
conda install holoviews babel anaconda-project jupyterlab datashader anaconda hvplot bkcharts conda-build anaconda-navigator sphinx _ipyw_jlab_nb_ext_conf statsmodels dask anaconda-client jupyterlab_server numpydoc intake pandas jupyter conda-repo-cli seaborn spyder xarray
我做了一个决赛
conda update conda
事情似乎很好。(注意:确保对任何"继续([y]/n)?"提示回答"y"。
你可能在python 2.7中安装了anaconda,但后来你使用了python 3.x。因此,您会收到一条错误消息。就我而言,我通过使用python 2.7激活anaconda来解决问题:
conda create --name py2 python=2.7
适用于 Miniconda + Windows x64 + Python 3.10:
conda activate base
conda update conda
conda update --all
经过测试,工作完美。
注意:更新base
足以修复conda env list
可见的所有其他环境的问题。
在我的环境中。
1.
conda install anaconda
conda update --all
然后它正常工作。
我的本地环境是 ubuntu 22.04 已尝试运行:conda update anconda
它没有用。 有效的方法是删除不一致的包。 下面是要在终端上运行的命令;
conda remove [inconsistent package name]
conda update --all
尝试查看环境管理 https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
通过使用类似的东西
conda create --name astra python=3.5
conda activate astra
conda install -c astra-toolbox astra-toolbox
你可以看到你甚至可以指定目标python版本。现在使用已安装的新软件包。当不满意时,你总是可以做的
conda deactivate
conda env remove -n astra
如果您将所有内容安装到基本环境并且某些东西被破坏了,那么最好根本不安装 conda,而是使用默认的 python 通过 pip 管理它。