L'environnement est incohérent, veuillez vérifier attentivement le plan de package

131

J'ai essayé de mettre à jour ou d'installer de nouveaux packages à partir d'anaconda et récemment, ce message est apparu:

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

J'ai essayé avec conda clean --allet puis conda update --allça persiste.

Infos Conda

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
Ange Salazar
la source

Réponses:

85

J'avais fait face au même problème. Courir simplement

conda install anaconda

résolu le problème pour moi.

mm49307
la source
1
J'ai le même problème et j'ai fait ce que vous avez suggéré. Mais j'obtiens toujours des incohérences. J'utilise osx-64, exécutez-vous aussi osx?
pink.slash
Oui, j'ai macOS Mojave v10.14.4.
mm49307
2
J'obtiens l'erreur avec conda update --all, donc cela ne résout pas le problème (dans certains cas), mais conda installsemble fonctionner (et mettre à jour d'autres paquets de la liste)
Giacomo Catenazzi
9
Pour moi, la solution était en 2 étapes: d'abord, conda install anacondaqui vient d'installer le package anaconda et de supprimer un package conda + mis à jour quelques dépendances. Ensuite, je l'ai suivi avec conda update --allet tout allait bien à nouveau! Mon système est Ubuntu 18.04 et j'ai rencontré ce problème après la mise à jour du spyderpackage, ce qui a également provoqué une mise à jour de condalui-même, ce qui a causé l'incohérence.
MF.OX
conda install anacondaa fonctionné pour moi aussi, même si j'ai dû attendre plus de 5 minutes pour que conda propose un forfait.
Sahar le
51

vu ça sur Google Groupes

Ce message a été ajouté dans conda 4.6.9, auparavant il n'y avait aucune indication lorsque conda a détecté un environnement incohérent à moins que conda ne soit exécuté en mode débogage. Il est probable que votre environnement ait été incohérent pendant un certain temps, mais la mise à niveau vers conda l'a rendu visible. La meilleure option est d'exécuter "conda install nom_package" pour que les paquets incohérents permettent à conda d'essayer de restaurer la cohérence.

et cela fonctionne vraiment pour moi.

Vous devriez peut-être essayer conda install anacondadans votre situation.

tys1998
la source
8
L'environnement incohérent était un problème lancinant pour TOUS mes environnements conda, conda install anacondane l'a pas coupé. Je dois faire exactement ceci: (ré) installer chaque paquet qu'il a appelé individuellement. Merci!
conner.xyz
1
@ conner.xyz Je me suis retrouvé dans une situation similaire et j'ai décidé que l'écriture d'un extrait de code réinstallant chaque paquet était une bonne solution (voir ma réponse ci-dessous). A eu la chance de ne pas avoir à travailler dans plusieurs environnements, cependant.
YenForYang
Excellente réponse - vraiment sympa d'avoir une explication de pourquoi cela s'est produit ainsi qu'une solution succincte qui (du moins pour moi) fonctionne parfaitement.
DrAl
20

Les incohérences sont dues aux différentes versions des packages et à leurs dépendances conflictuelles.

conda update --all

Cette commande met à jour tous les packages, puis conda résout seul l'incohérence.

Sachin Kumar
la source
C'est la meilleure réponse, car elle ne met à jour que les packages qui sont en conflit et provoquent des incohérences.
Rich Lysakowski PhD
1
Cela ne résout PAS le problème car l'incohérence n'est pas causée par des dépendances, mais plutôt par une modification des métadonnées côté serveur (c'est-à-dire dans le canal). J'ai essayé cela et cela n'a pas fonctionné, mais comme le lien l'indique, c'est un avertissement qui peut être ignoré.
jena le
7

Étant donné une situation comme la suivante,

> 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

Comme mentionné dans d'autres réponses, l'idée est d'avoir une sorte de installrelation pour se produire pour les paquets incohérents.

Ainsi, avec quelques copier-coller, vous pouvez:

> 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

(et il faudrait répéter pour tous les paquets)


Mon «raccourci»

Vous pouvez également préparer un (moche) one-liner (cela devrait fonctionner pour Windows ainsi que pour d'autres plates-formes)

Note : par "ORIGINAL_COMMAND", je fais référence à toute commande qui vous donne le message d'erreur (sans aucun autre effet secondaire, idéalement)

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

Extension de la doublure ci-dessus:

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
)
YenForYang
la source
5

La commande a conda install -c anaconda anacondafait l'affaire pour moi. Pour ma configuration, je dois spécifier le canal sinon cela ne fonctionnerait pas. Après avoir exécuté la commande dans le terminal, j'ai été invité à mettre à jour une liste de packages jugés incohérents. Sans cette étape, je n'ai pas été en mesure d'installer ou de mettre à jour des packages avec conda install <package_name>ou conda update <package_namerespectivement.

Kris Stern
la source
5

Avait ce même problème et aucune des autres solutions n'a fonctionné pour moi. J'ai fini par désinstaller et réinstaller conda, puis réinstaller toutes mes bibliothèques.

jschabs
la source
1
Pourquoi le vote négatif? J'ai essayé de nombreuses autres solutions, qui ont toutes abouti au même message sur les paquets incohérents et la rotation de conda pour toujours. Une réinstallation complète n'a pris que quelques minutes et m'a redonné un système fonctionnel. Je ne recommanderais évidemment pas cela si vous avez des environnements précieux qui doivent être préservés.
Bas Swinckels
@BasSwinckels lol peut-être que je n'ai pas suffisamment insisté sur le fait qu'aucune des autres solutions n'a fonctionné pour moi.
jschabs
5

Solutions ultimes:

conda activate base
conda install anaconda
conda update --all

Fonctionne sur Windows 10 et Ubuntu 18.04 (crédits à @ MF.OX pour ubuntu).

Suppression des problèmes suivants pour moi:

  • The environment is inconsistent
  • WARNING conda.base.context:use_only_tar_bz2(632)
Hans
la source
merci, ça marche. Après la mise à jour de l'environnement de base, j'ai activé mon environnement virtuel et répété conda upadte --allpour obtenir un # All requested packages alread installed.message.
Hongsoog le
3

Si les autres solutions ne fonctionnent pas, la restauration de l'environnement peut résoudre ce problème.

Utilisez conda list --revisions, choisissez un numéro de révision et conda install --revision [#] revenez pas à pas jusqu'à ce que tout fonctionne à nouveau.

Kenl
la source
1

Ce qui a fonctionné pour moi était de conda remove <offending_packagename>, conda update --allpuis enfin conda install <offending_packagename>.

Milind R
la source
0

Vous avez probablement installé anaconda avec python 2.7 mais plus tard vous avez utilisé python 3.x. Ainsi, vous obtenez un message d'erreur. Dans mon cas, j'ai résolu le problème en activant anaconda avec python 2.7:

conda create --name py2 python=2.7
Jakir
la source