Środowisko jest niespójne, sprawdź dokładnie plan pakietu


131

Próbowałem zaktualizować lub zainstalować nowe pakiety od anacondy i ostatnio pojawił się ten komunikat:

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

Próbowałem conda clean --alli potem, conda update --allale to się utrzymuje.

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

Odpowiedzi:


85

Miałem ten sam problem. Po prostu bieganie

conda install anaconda

rozwiązał problem za mnie.


1
Mam ten sam problem i zrobiłem tak, jak sugerowałeś. Ale wciąż dostaję niespójności. Używam OSX-64, czy Ty też używasz OSX?
pink.slash

Tak, mam macOS Mojave 10.14.4.
mm49307

2
Otrzymuję błąd z conda update --all, więc nie rozwiązuje problemu (w niektórych przypadkach), ale conda installwydaje się działać (i aktualizować inne pakiety na liście)
Giacomo Catenazzi

9
Dla mnie rozwiązanie było w 2 krokach: pierwszy, conda install anacondaktóry właśnie zainstalował pakiet anaconda i usunął jeden pakiet conda + zaktualizował kilka zależności. Potem poszedłem za nim conda update --alli wszystko znowu było w porządku! Mój system to Ubuntu 18.04 i napotkałem ten problem po aktualizacji spyderpakietu, który również spowodował aktualizację condasamego siebie, co spowodowało niespójność.
MF.OX

conda install anacondadla mnie też zadziałało, chociaż musiałem czekać ponad 5 minut, aż conda zaproponuje pakiet.
Sahar

51

widziałem to w Grupach dyskusyjnych Google

Ta wiadomość została dodana w conda 4.6.9, wcześniej nie było żadnej wskazówki, kiedy conda wykryła niespójne środowisko, chyba że conda została uruchomiona w trybie debugowania. Jest prawdopodobne, że środowisko przez jakiś czas było niespójne, ale aktualizacja do Conda sprawiła, że ​​stało się to widoczne. Najlepszą opcją jest uruchomienie „conda install nazwa_pakietu” dla niespójnych pakietów, aby umożliwić conda próbę przywrócenia spójności.

i to naprawdę działa dla mnie.

Może powinieneś spróbować conda install anacondaw swojej sytuacji.


8
Niespójne środowisko było dokuczliwym problemem dla WSZYSTKICH moich środowisk Conda, conda install anacondaale go nie załatwiło . Muszę zrobić dokładnie to: (ponownie) zainstalować każdy pakiet, który wywołał osobno. Dzięki!
conner.xyz

1
@ conner.xyz Znalazłem się w podobnej sytuacji i zdecydowałem, że napisanie fragmentu kodu, który ponownie zainstalowałby każdy pakiet, jest dobrym rozwiązaniem (zobacz moją odpowiedź poniżej). Miał jednak szczęście, że nie musiał pracować w wielu środowiskach.
YenForYang

Świetna odpowiedź - naprawdę miło mieć wyjaśnienie, dlaczego tak się stało, a także zwięzłą poprawkę, która (przynajmniej dla mnie) działa idealnie.
DrAl

20

Niespójności są spowodowane różnymi wersjami pakietów i ich wzajemnymi zależnościami.

conda update --all

To polecenie aktualizuje wszystkie pakiety, a następnie conda samodzielnie rozwiązuje niespójność.


To jest lepsza odpowiedź, ponieważ aktualizuje tylko pakiety, które powodują konflikty i powodują niespójności.
dr Rich Lysakowski

1
To NIE rozwiązuje problemu, ponieważ niespójność nie jest spowodowana zależnościami, ale raczej zmianą metadanych po stronie serwera (tj. W kanale). Próbowałem tego i nie zadziałało, jednak jak mówi link, jest to ostrzeżenie, które można zignorować.
jena

7

W sytuacji podobnej do poniższej

> 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

Jak wspomniano w innych odpowiedziach, chodzi o to, abyinstall zależność występującą dla niespójnych pakietów.

W związku z tym za pomocą kilku kopiuj i wklej możesz:

> 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

(i musiałbyś powtórzyć dla wszystkich pakietów)


Mój „skrót”

Alternatywnie, ugotuj (brzydki) jednowierszowy (to powinno działać w systemie Windows, a także na innych platformach)

Uwaga : przez „ORIGINAL_COMMAND” mam na myśli każde polecenie, które powoduje wyświetlenie komunikatu o błędzie (najlepiej bez żadnych innych skutków ubocznych)

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

Rozszerzając powyższą jedną linijkę:

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

Komenda conda install -c anaconda anacondazałatwiła sprawę za mnie. W mojej konfiguracji muszę określić kanał, w przeciwnym razie nie zadziała. Po uruchomieniu polecenia w terminalu zostałem poproszony o zaktualizowanie listy pakietów, które okazały się niespójne. Bez tego kroku nie mogłem zainstalować ani zaktualizować żadnych pakietów za pomocą conda install <package_name>lub conda update <package_nameodpowiednio.


5

Miałem ten sam problem i żadne inne rozwiązanie nie zadziałało. Skończyło się na tym, że musiałem odinstalować i ponownie zainstalować Conda, a następnie ponownie zainstalować wszystkie moje biblioteki.


1
Dlaczego głos przeciw? Wypróbowałem wiele innych rozwiązań, z których wszystkie skutkowały tym samym komunikatem o niespójnych pakietach i ciągłym przędzeniu conda. Pełna ponowna instalacja zajęła zaledwie kilka minut i ponownie dała mi działający system. Oczywiście nie polecałbym tego, jeśli masz jakieś cenne środowiska, które należy zachować.
Bas Swinckels

@BasSwinckels lol może nie podkreślałem wystarczająco, że ŻADNE z innych rozwiązań nie działało dla mnie.
jschabs

5

Najlepsze rozwiązania:

conda activate base
conda install anaconda
conda update --all

Działa na Windows 10 i Ubuntu 18.04 (kredyty do @ MF.OX dla ubuntu).

Usunięto dla mnie następujące problemy:

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

dzięki, to działa. Po aktualizacji podstawowego środowiska env aktywowałem wirtualne środowisko i powtórzyłem, conda upadte --allaby otrzymać # All requested packages alread installed.wiadomość.
Hongsoog

3

Jeśli inne rozwiązania nie działają, przywrócenie środowiska może to naprawić.

Użyj conda list --revisions, wybierz numer wersji i conda install --revision [#] cofaj się krok po kroku, aż wszystko znów będzie działać.


1

Dla mnie zadziałało conda remove <offending_packagename>, conda update --alla potem wreszcie conda install <offending_packagename>.


0

Prawdopodobnie zainstalowałeś Anacondę w Pythonie 2.7, ale później użyłeś Pythona 3.x. W ten sposób otrzymujesz komunikat o błędzie. W moim przypadku rozwiązałem problem, aktywując anakondę w Pythonie 2.7:

conda create --name py2 python=2.7
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.