The Environment Is Inconsistent, Please Check the Package Plan Carefully

I tried to update or install new packages from anaconda and lately, this message has appeared:

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

I tried with conda clean --all and then conda update --all but it persists.

Conda Info

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 : 
                          
                          
                          
                          
                          
                          
                          
          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
2

22 Answers

I had faced the same problem. Simply running

conda install anaconda

solved the problem for me.

15

saw this on Google Groups

This message was added in conda 4.6.9, previously there was no indication when conda detected an inconsistent environment unless conda was run in debug mode. It is likely that your environment was inconsistent for some time but the upgrade to conda made it visible. The best option it to run "conda install package_name" for the inconsistent packages to let conda try to restore consistency.

and it really works for me.

Maybe you should try conda install anaconda in your situation.

3

The inconsistencies are caused due to different versions of the packages, and their clashing dependencies.

conda update --all

This command updates all the packages, and then conda solves the inconsistency on its own.

4

Had this same problem and none of the other solutions worked for me. Ended up having to uninstall and reinstall conda, then reinstall all of my libraries.

3

I was getting an environment is inconsistent error when I tried to update my base conda environment. I'm using miniconda. Unfortunately, none of the answers above worked for me.

What did work for me was:

conda activate base
conda install conda --force-reinstall
conda install conda --force-reinstall
conda update --all

(Yes, for some reason it was necessary to run conda install conda --force-reinstall twice!)

5

Ultimate solutions:

conda activate base
conda install anaconda
conda update --all

Works on Windows 10 and Ubuntu 18.04 (credits to @MF.OX for ubuntu).

Removed following problems for me:

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

If the other solutions don't work, reverting the environment can fix this.

Use conda list --revisions, pick a revision number, and use conda install --revision [#] going back step-by-step until everything works again.

Given a situation like the following,

> 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

As mentioned in other answers, the idea is to have some sort of re-installation to occur for the inconsistent packages.

Thus, with a few copy-&-paste's, you could:

> 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

(and you would have to repeat for all the packages)


My “Shortcut”

Alternatively, cook up an (ugly) one-liner (this should work for Windows as well as other platforms)

Note: by "ORIGINAL_COMMAND", I'm referring to any command that gives you the error message (without any other side-effects, ideally)

<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))"

Expanding the above one-liner:

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
)

The command conda install -c anaconda anaconda did the trick for me. For my setup, I need to specify the channel otherwise it would not work. After running the command in the terminal, I was prompted to update a list of packages that was found to be inconsistent. Without this step, I was not able to install or update any packages with conda install <package_name> or conda update <package_name respectively.

0

What worked for me was to

`conda remove <offending_packagename>`, 
`conda update --all` 

and then finally

`conda install <offending_packagename>`.

To those of us who have miniconda and can't/don't want to install anaconda: the accepted answer works when adapted.

  1. conda install conda
  2. conda update --all

Would have commented, but my rep is too low.

I had this problem for ages. The conda install anaconda might work, but it takes just way too long -- more than 24 hours on my machine.

Here is a solution that worked for me in under 5 minutes:

  1. Remove all the unneeded packages -- being careful to leave the ones that are essential for conda to operate.
  2. Then, use conda install anaconda.

But how?? there is a lot of them!

This is what I have done:

  1. Make a fresh envinroment with python, fairly bare-bone. then, list the packages in there:

conda create -n fresh python

conda activate fresh

conda list

Save the output, you will need it. 1b. go back to the base envinroment:

conda deactivate

  1. use the following snippet to generate a conda command that will remove all the inconsistent packages:

(good packages are)

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  
...

... and more! get this from a good environment.

Note the usage of triple quotes (''') to use a multiline-string in python.

bad_packages_text = '''
  - 
  -  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
... 

... and more! get this by copy-pasting the "The following packages are causing the inconsistency." message.

then, in python, process this:

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')

finally, construct the life-saving command:

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   

Since in solving the environment, all the packages on the remove list can be ignored, conda no longer needs to consider their versions, and the process is fast.

Possibly someone can refactor this method to make it easier -- or better yet, upgrade conda to enable quick reset base command.

This worked for me -- it took me longer to write this post than to execute these actions.

Good luck!

To solve this message I had to run conda update --all in my base environment three times after each other. Every time the number of inconsistent packages decreased until conda said:

# All requested packages already installed.

I'm on macOS Big Sur 11.6 using conda version 4.10.3.

1

In my case, none of the above worked. But this did the trick in less than a minute:

1- I downloaded again the lastest installer (miniconda in my case)

2- Run the installer with the -u option:

bash Miniconda3-py39_xxxx-Linux-x86_64.sh -u

3- Answer yes to all questions and let the installer finish

4- Then I could run conda update conda -all

Hope this helps...

2
conda install anaconda
conda clean --all
conda update --all

fix the problem for me

Works with Miniconda + Windows x64 + Python 3.10:

conda activate base
conda update conda
conda update --all

Tested, works perfectly.

Note: Updating base is sufficient to fix issues with all other environments visible with conda env list.

This happened to me on my MacOS Ventura when I had to uninstall the osx-64 version and install the intel version (no comments from the peanut gallery, please). I got this when trying to "conda update conda":

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

I edited the output into this command and ran it:

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

I then re-edited the command to this and ran it:

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

I did one final

conda update conda

and things appear to be well. (Note: make sure you answer "y" to any "Proceed ([y]/n)?" prompts.

You probably installed anaconda with python 2.7 but later you used python 3.x. Thus, you are getting an error message. In my case, I solved the problem by activating anaconda with python 2.7:

conda create --name py2 python=2.7
1

In my environment.

1.

conda install anaconda
conda update --all

Then it works correctly.

My local environment is ubuntu 22.04 Tried to run: conda update anconda it did not work. what worked is removing the inconsistent package. Below is the command to be run on terminal;

conda remove [inconsistent package name]
conda update --all

Update at nov 23, 2023 Working on MacBook Pro, Apple M1 Pro, RAM 32 GB, macOS Sonoma Versión 14.0

It's incredible this problem persist after 4 years (as I can see in this post)

After trying all the solutions proposed here from the beginning the first one to return a slightly different output was from last year.

After running:

conda install conda --force-reinstall

I got

Collecting package metadata (current_repodata.json): done
Solving environment: \ 
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

and an almost infinite list of packages (I won't paste it because it's really huge), and at the end of the list the following message:

unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: / 
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

and again the huge list of packages.

And after that here it comes the difference:

==> WARNING: A newer version of conda exists. <==
  current version: 23.7.4
  latest version: 23.10.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.10.0
The following NEW packages will be INSTALLED:

  setuptools         pkgs/main/osx-64::setuptools-68.0.0-py39hecd8cb5_0 
  wheel              pkgs/main/noarch::wheel-0.35.1-pyhd3eb1b0_0 


Proceed ([y]/n)? y


Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.

I aborted and retried

conda install conda --force-reinstall

And a new difference:

## Package Plan ##
added / updated specs:
    - conda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    certifi-2023.11.17         |   py39hecd8cb5_0         159 KB
    ------------------------------------------------------------
                                           Total:         159 KB

The following packages will be UPDATED:

  certifi                          2023.7.22-py39hecd8cb5_0 --> 2023.11.17-py39hecd8cb5_0 


Proceed ([y]/n)? y                                     

And at last the list of packages will be downloaded:

package                    |            build
    ---------------------------|-----------------
    anaconda-anon-usage-0.4.3  | py39hfb7c958_100          25 KB
    anaconda-client-1.12.2     |   py39hecd8cb5_0         151 KB
    anaconda-cloud-auth-0.1.4  |   py39hecd8cb5_0          31 KB
    astropy-5.3.4              |   py39h7b7cdfe_0         8.2 MB
    async-lru-2.0.4            |   py39hecd8cb5_0          19 KB
    blinker-1.6.2              |   py39hecd8cb5_0          30 KB
    bokeh-3.3.0                |   py39h20db666_0         5.5 MB
    brotli-python-1.0.9        |   py39he9d5cce_7         354 KB
    cffi-1.16.0                |   py39h6c40b1e_0         240 KB
    click-8.1.7                |   py39hecd8cb5_0         164 KB
    .................. many more. ............

Then:

The following NEW packages will be INSTALLED:

  async-lru          pkgs/main/osx-64::async-lru-2.0.4-py39hecd8cb5_0 
  brotli-python      pkgs/main/osx-64::brotli-python-1.0.9-py39he9d5cce_7 
  jsonschema-specif~ pkgs/main/osx-64::jsonschema-specifications-2023.7.1-py39hecd8cb5_0 
  jupyter-lsp        pkgs/main/osx-64::jupyter-lsp-2.2.0-py39hecd8cb5_0 
  jupyter_server_te~ pkgs/main/osx-64::jupyter_server_terminals-0.4.4-py39hecd8cb5_1 
  overrides          pkgs/main/osx-64::overrides-7.4.0-py39hecd8cb5_0 
  referencing        pkgs/main/osx-64::referencing-0.30.2-py39hecd8cb5_0 
  rich               pkgs/main/osx-64::rich-13.3.5-py39hecd8cb5_0 
  rpds-py            pkgs/main/osx-64::rpds-py-0.10.6-py39hf2ad997_0 
  semver             pkgs/main/noarch::semver-2.13.0-pyhd3eb1b0_0 

After that:

The following packages will be REMOVED:

  aiofiles-22.1.0-py39hecd8cb5_0
  aiosqlite-0.18.0-py39hecd8cb5_0
  brotlipy-0.7.0-py39h9ed2024_1003
  datashape-0.5.4-py39hecd8cb5_1
  jinja2-time-0.2.0-pyhd3eb1b0_3
  jupyter_server_fileid-0.9.0-py39hecd8cb5_0
  jupyter_server_ydoc-0.8.0-py39hecd8cb5_1
  jupyter_ydoc-0.2.4-py39hecd8cb5_0
  nbclassic-0.5.5-py39hecd8cb5_0
  poyo-0.5.0-pyhd3eb1b0_0
  pyrsistent-0.18.0-py39hca72f7f_0
  qtwebkit-5.212-hbfab81c_5
  y-py-0.5.9-py39h7242b5c_0
  ypy-websocket-0.8.2-py39hecd8cb5_0

and finally:

The following packages will be UPDATED:

  anaconda-anon-usa~                   0.4.2-py39hfb7c958_2 --> 0.4.3-py39hfb7c958_100 
  anaconda-client                     1.12.1-py39hecd8cb5_0 --> 1.12.2-py39hecd8cb5_0 
  anaconda-cloud-au~                   0.1.3-py39hecd8cb5_0 --> 0.1.4-py39hecd8cb5_0 
  astropy                                5.1-py39h67323c0_0 --> 5.3.4-py39h7b7cdfe_0 
  blinker                                1.4-py39hecd8cb5_0 --> 1.6.2-py39hecd8cb5_0 
  bokeh                                3.2.1-py39h20db666_0 --> 3.3.0-py39h20db666_0 
  c-blosc2                                 2.8.0-hcec6c5f_0 --> 2.10.5-hcf5af9b_0 
  cffi                                1.15.1-py39h6c40b1e_3 --> 1.16.0-py39h6c40b1e_0 
  click                                8.0.4-py39hecd8cb5_0 --> 8.1.7-py39hecd8cb5_0 
  contourpy                            1.0.5-py39haf03e11_0 --> 1.2.0-py39ha357a0b_0 
  cookiecutter       pkgs/main/noarch::cookiecutter-1.7.3-~ --> pkgs/main/osx-64::cookiecutter-2.5.0-py39hecd8cb5_0 
  dal                               2023.1.1-ha357a0b_48680 --> 2023.1.1-ha357a0b_48681 
  datashader                          0.15.2-py39hecd8cb5_0 --> 0.16.0-py39hecd8cb5_0 
  filelock                             3.9.0-py39hecd8cb5_0 --> 3.13.1-py39hecd8cb5_0 
  frozenlist                           1.3.3-py39h6c40b1e_0 --> 1.4.0-py39h6c40b1e_0 
............   many more.  ............

and at the end

Proceed ([y]/n)? y


Downloading and Extracting Packages
                                                                                                                             
Preparing transaction: done                                                                                                  
Verifying transaction: done                                                                                                  
Executing transaction: done   

I have to apologize for the length of the answer , but I think it can be useful for Mac users, who have little help here.

Try to have a look to the environment management

By using something along the lines

conda create --name astra python=3.5
conda activate astra
conda install -c astra-toolbox astra-toolbox

You can see that you can even specify target python version. Now play with the new packages installed. When unsatisfied, you can always do

conda deactivate
conda env remove -n astra

If you install everything to the base env and something gets broken, then probably better is not to install conda at all and go with default python managing it through pip.

Maya Lin-Takahashi

Maya Lin-Takahashi

Consumer Tech & Gadget Reviewer

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.

Share this article
Twitter Facebook Pinterest