L'ambiente non è coerente, controlla attentamente il piano del pacchetto


131

Ho provato ad aggiornare o installare nuovi pacchetti da anaconda e ultimamente è apparso questo messaggio:

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

Ho provato con conda clean --alle poi conda update --allma persiste.

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

Risposte:


85

Avevo affrontato lo stesso problema. Semplicemente in esecuzione

conda install anaconda

ha risolto il problema per me.


1
Ho lo stesso problema e ho fatto come mi hai suggerito. Ma continuo a riscontrare incongruenze. Sto eseguendo osx-64, esegui anche osx?
pink.slash

Sì, ho macOS Mojave v10.14.4.
mm49307

2
Ottengo l'errore con conda update --all, quindi non risolve il problema (in alcuni casi), ma conda installsembra funzionare (e per aggiornare altri pacchetti nell'elenco)
Giacomo Catenazzi

9
Per me la soluzione era in 2 passaggi: primo, conda install anacondache ha appena installato il pacchetto anaconda e rimosso un pacchetto conda + ha aggiornato alcune dipendenze. Poi l'ho seguito conda update --alle tutto è andato di nuovo bene! Il mio sistema è Ubuntu 18.04 e mi sono imbattuto in questo problema dopo aver aggiornato il spyderpacchetto che ha anche causato un aggiornamento a condase stesso e questo ha causato l'incongruenza.
MF.OX

conda install anacondaha funzionato anche per me, anche se ho dovuto aspettare più di 5 minuti perché conda proponesse un pacchetto.
Sahar

51

visto questo su Google Gruppi

Questo messaggio è stato aggiunto in conda 4.6.9, in precedenza non era presente alcuna indicazione quando conda rilevava un ambiente incoerente a meno che conda non fosse eseguito in modalità di debug. È probabile che il tuo ambiente sia stato incoerente per qualche tempo, ma l'aggiornamento a conda lo ha reso visibile. L'opzione migliore è eseguire "conda install nome_pacchetto" per i pacchetti incoerenti per consentire a conda di provare a ripristinare la coerenza.

e funziona davvero per me.

Forse dovresti provare conda install anacondanella tua situazione.


8
L'ambiente incoerente è stato un problema fastidioso per TUTTI i miei ambienti conda, conda install anacondanon l'ha tagliato. Devo fare esattamente questo: (ri) installare ogni pacchetto chiamato individualmente. Grazie!
conner.xyz

1
@ conner.xyz Mi sono trovato in una situazione simile e ho deciso che scrivere uno snippet che reinstallasse ogni pacchetto fosse un modo equo (vedi la mia risposta sotto). Tuttavia, ho avuto la fortuna di non dover lavorare in più ambienti.
YenForYang

Ottima risposta - davvero bello avere una spiegazione del perché è successo così come una soluzione succinta che (almeno per me) funziona perfettamente.
DrAl

20

Le incongruenze sono dovute alle diverse versioni dei pacchetti e alle loro dipendenze in conflitto.

conda update --all

Questo comando aggiorna tutti i pacchetti, quindi conda risolve da solo l'incongruenza.


Questa è la risposta migliore, perché aggiorna solo i pacchetti che sono in conflitto e hanno causato le incongruenze.
Rich Lysakowski PhD

1
Questo NON risolve il problema perché l'incoerenza non è causata da dipendenze, ma piuttosto dalla modifica dei metadati lato server (cioè nel canale). Ho provato questo e non ha funzionato, tuttavia, come dice il collegamento, è un avviso che può essere ignorato.
jena

7

Data una situazione come la seguente,

> 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

Come accennato in altre risposte, l'idea è di avere una sorta di relazione installche si verifichi per i pacchetti incoerenti.

Quindi, con pochi copia e incolla, potresti:

> 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

(e dovresti ripetere per tutti i pacchetti)


La mia "scorciatoia"

In alternativa, prepara un (brutto) one-liner (questo dovrebbe funzionare per Windows e per altre piattaforme)

Nota : con "ORIGINAL_COMMAND", mi riferisco a qualsiasi comando che ti dia il messaggio di errore (senza altri effetti collaterali, idealmente)

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

Espansione della riga sopra:

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

Il comando ha conda install -c anaconda anacondafatto il trucco per me. Per la mia configurazione, devo specificare il canale altrimenti non funzionerebbe. Dopo aver eseguito il comando nel terminale, mi è stato chiesto di aggiornare un elenco di pacchetti ritenuti incoerenti. Senza questo passaggio, non sono stato in grado di installare o aggiornare alcun pacchetto con conda install <package_name>o conda update <package_namerispettivamente.


5

Ho avuto lo stesso problema e nessuna delle altre soluzioni ha funzionato per me. Ho finito per dover disinstallare e reinstallare Conda, quindi reinstallare tutte le mie librerie.


1
Perché il voto negativo? Ho provato molte delle altre soluzioni, che hanno restituito lo stesso messaggio su pacchetti incoerenti e conda che gira per sempre. Una reinstallazione completa ha richiesto solo pochi minuti e mi ha dato di nuovo un sistema funzionante. Ovviamente non lo consiglierei se hai ambienti di valore che devono essere preservati.
Bas Swinckels

@BasSwinckels lol forse non ho sottolineato abbastanza che NESSUNA delle altre soluzioni ha funzionato per me.
jschabs

5

Soluzioni definitive:

conda activate base
conda install anaconda
conda update --all

Funziona su Windows 10 e Ubuntu 18.04 (crediti a @ MF.OX per Ubuntu).

Rimossi i seguenti problemi per me:

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

grazie, funziona. Dopo l'aggiornamento env di base, ho attivato il mio env virtuale e ho ripetuto conda upadte --allper ricevere il # All requested packages alread installed.messaggio.
Hongsoog

3

Se le altre soluzioni non funzionano, il ripristino dell'ambiente può risolvere il problema.

Usa conda list --revisions, scegli un numero di revisione e conda install --revision [#] torna indietro passo dopo passo finché tutto non funziona di nuovo.


1

Quello che ha funzionato per me è stato conda remove <offending_packagename>, conda update --alle poi finalmente conda install <offending_packagename>.


0

Probabilmente hai installato anaconda con python 2.7 ma in seguito hai usato python 3.x. Pertanto, ricevi un messaggio di errore. Nel mio caso ho risolto il problema attivando anaconda con python 2.7:

conda create --name py2 python=2.7
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.