Навколишнє середовище невідповідне, будь ласка, уважно перевірте план пакунків


130

Я намагався оновити або встановити нові пакети з анаконди, і останнім часом з'явилося це повідомлення:

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

Відповіді:


85

Я зіткнувся з тією ж проблемою. Просто працює

conda install anaconda

вирішив проблему для мене.


1
У мене така ж проблема, і я зробив так, як ви запропонували. Але я все-таки отримую невідповідності. Я запускаю osx-64, ви також запускаєте osx?
pink.slash

Так, у мене є macOS Mojave v10.14.4.
mm49307

2
Я отримую помилку conda update --all, тому вона не вирішує проблему (у деяких випадках), але, conda installздається, працює (і оновлює інші пакети у списку)
Giacomo Catenazzi

8
Для мене рішення було в два етапи: по-перше, conda install anacondaякий тільки що встановив анаконда і видалив один конда-пакет + оновив кілька залежностей. Тоді я слідував за цим conda update --allі знову все було добре! Моя система Ubuntu 18.04, і я зіткнувся з цією проблемою після оновлення spyderпакету, що також спричинило оновлення conda, і це спричинило непослідовність.
MF.OX

conda install anacondaпрацював і для мене, хоча мені довелося чекати більше 5 хвилин, щоб конда запропонувала план упаковки.
Сахар

51

бачив це в групах Google

Це повідомлення було додано в conda 4.6.9, раніше не було вказівки, коли конда виявила невідповідне середовище, якщо конда не була запущена в режимі налагодження. Цілком ймовірно, що ваше оточення деякий час було непослідовним, але оновлення до конди зробило це видимим. Найкращий варіант - запустити "conda install package_name" для непослідовних пакетів, щоб дозволити conda спробувати відновити послідовність.

і це справді працює для мене.

Можливо, вам слід спробувати conda install anacondaв своїй ситуації.


8
Невідповідне середовище було нагальною проблемою для ВСІХ моїх середовищ conda, conda install anacondaне вирішувало це. Мені потрібно зробити саме це: (пере) встановити кожен пакет, який він викликав, окремо. Дякую!
conner.xyz

1
@ conner.xyz Я опинився в подібній ситуації і вирішив, що написання фрагмента, який перевстановлює кожен пакет, - це справедливий шлях (див. мою відповідь нижче). Однак пощастило, що не довелося працювати через безліч середовищ.
YenForYang

Чудова відповідь - дійсно приємно мати пояснення, чому це сталося, а також стислий виправлення, яке (принаймні для мене) працює чудово.
DrAl

20

Невідповідності викликані різними версіями пакунків та їх залежними залежностями.

conda update --all

Ця команда оновлює всі пакети, а потім conda вирішує невідповідність самостійно.


Це краща відповідь, оскільки він оновлює лише пакети, які конфліктують та викликали невідповідності.
Багатий доктор фізичних наук

1
Це НЕ вирішує проблему, оскільки невідповідність викликана не залежностями, а зміною метаданих на стороні сервера (тобто в каналі). Я спробував це, і це не вийшло, однак, як говорить посилання, це попередження, яке можна ігнорувати.
Jena

7

Враховуючи таку ситуацію,

> 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щоб відбутись якийсь резонанс для непослідовних пакетів.

Таким чином, за допомогою декількох копій & & - paste ви можете:

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

5

Команда conda install -c anaconda anacondaзробила для мене трюк. Для моєї настройки мені потрібно вказати канал, інакше він би не працював. Після запуску команди в терміналі мені було запропоновано оновити список пакунків, які виявились непослідовними. Без цього кроку я не зміг встановити або оновити будь-які пакети відповідно conda install <package_name>або conda update <package_nameвідповідно.


5

У мене була ця сама проблема, і жодне з інших рішень не працювало на мене. Закінчилося видалення та перевстановлення conda, а потім перевстановлення всіх моїх бібліотек.


1
Чому потік? Я спробував багато інших рішень, в результаті чого все було одне і те ж повідомлення про непослідовні пакети та спінінг конди. Повна перевстановка зайняла всього кілька хвилин і знову дала мені робочу систему. Я, очевидно, не рекомендував би це, якщо у вас є якісь цінні середовища, які потрібно зберегти.
Bas Swinckels

@BasSwinckels хаха, можливо, я недостатньо наголосив на тому, що НІКОЛІ з інших рішень не працювало на мене.
jschabs

5

Кінцеві рішення:

conda activate base
conda install anaconda
conda update --all

Працює в ОС Windows 10 і Ubuntu 18.04 (зараховує до @ MF.OX для ubuntu).

Видалено наступні проблеми для мене:

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

дякую, працює. Після оновлення базової env, я активував свою віртуальну програму env і повторював, conda upadte --allщоб отримати # All requested packages alread installed.повідомлення.
Hongsoog

3

Якщо інші рішення не працюють, відновлення середовища може це виправити.

Використовуйте conda list --revisions, виберіть ревізійний номер та використовуйте conda install --revision [#] крок за кроком, поки все не почне працювати знову.


0

Ви, ймовірно, встановили анаконду з python 2.7, але пізніше ви використовували python 3.x. Таким чином, ви отримуєте повідомлення про помилку. У моєму випадку я вирішив проблему, активувавши анаконду з python 2.7:

conda create --name py2 python=2.7

0

Те, що для мене працювало, це було conda remove <offending_packagename>, conda update --allа потім нарешті conda install <offending_packagename>.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.