Môi trường không nhất quán, vui lòng kiểm tra gói gói cẩn thận


130

Tôi đã cố gắng cập nhật hoặc cài đặt các gói mới từ anaconda và gần đây, thông báo này đã xuất hiện:

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

Tôi đã thử với conda clean --allvà sau đó conda update --allnhưng nó vẫn tồn tại.

Thông tin 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

Câu trả lời:


86

Tôi đã phải đối mặt với cùng một vấn đề. Chỉ đơn giản là chạy

conda install anaconda

đã giải quyết vấn đề cho tôi.


1
Tôi có cùng một vấn đề, và tôi đã làm như bạn đề xuất. Nhưng tôi vẫn nhận được sự mâu thuẫn. Tôi đang chạy osx-64, bạn cũng chạy osx?
pink.slash

Có, tôi có macOS Mojave v10.14.4.
mm49307

2
Tôi nhận được lỗi với conda update --all, vì vậy nó không giải quyết vấn đề (trên một số trường hợp), nhưng conda installdường như công việc (và để cập nhật các gói khác trong danh sách)
Giacomo Catenazzi

9
Đối với tôi, giải pháp là theo 2 bước: đầu tiên, conda install anacondachỉ cần cài đặt gói anaconda và loại bỏ một gói conda + cập nhật một vài phụ thuộc. Sau đó, tôi làm theo nó với conda update --allvà mọi thứ đã tốt trở lại! Hệ thống của tôi là Ubuntu 18.04 và tôi đã gặp sự cố này sau khi cập nhật spydergói, điều này cũng gây ra bản cập nhật cho condachính nó và điều này gây ra sự không nhất quán.
MF.OX

conda install anacondacũng làm việc cho tôi, mặc dù tôi phải đợi hơn 5 phút để conda đề xuất kế hoạch trọn gói.
Sahar

51

đã thấy điều này trên Google Groups

Thông báo này đã được thêm vào conda 4.6.9, trước đây không có dấu hiệu khi conda phát hiện một môi trường không nhất quán trừ khi conda được chạy ở chế độ gỡ lỗi. Có thể môi trường của bạn không nhất quán trong một thời gian nhưng việc nâng cấp lên chung cư đã làm cho nó hiển thị. Tùy chọn tốt nhất là chạy "conda install package_name" cho các gói không nhất quán để cho phép conda cố gắng khôi phục tính nhất quán.

và nó thực sự hiệu quả với tôi.

Có lẽ bạn nên thử conda install anacondatrong hoàn cảnh của mình.


8
Môi trường không nhất quán là một vấn đề khó chịu đối với TẤT CẢ các môi trường chung cư của tôi, conda install anacondađã không cắt bỏ nó. Tôi cần làm chính xác điều này: (lại) cài đặt từng gói mà nó được gọi riêng. Cảm ơn!
Conner.xyz

1
@ Conner.xyz Tôi thấy mình cũng ở trong tình huống tương tự và quyết định rằng viết một đoạn mã cài đặt lại từng gói là một cách hợp lý (xem câu trả lời của tôi bên dưới). Tuy nhiên, đủ may mắn để không phải làm việc qua nhiều môi trường.
YenForYang

Câu trả lời tuyệt vời - thực sự rất vui khi có lời giải thích tại sao điều này lại xảy ra cũng như một bản sửa lỗi ngắn gọn (ít nhất là đối với tôi) hoạt động hoàn hảo.
DrAl

20

Sự mâu thuẫn được gây ra do các phiên bản khác nhau của gói và sự phụ thuộc xung đột của chúng.

conda update --all

Lệnh này cập nhật tất cả các gói và sau đó conda tự giải quyết sự không nhất quán.


Đây là câu trả lời tốt hơn, bởi vì nó chỉ cập nhật các gói xung đột và gây ra mâu thuẫn.
Rich Lysakowski PhD

1
Điều này KHÔNG giải quyết được vấn đề vì sự không nhất quán không phải do phụ thuộc gây ra, mà là do thay đổi siêu dữ liệu ở phía máy chủ (tức là trong kênh). Tôi đã thử điều này và nó không hoạt động, tuy nhiên như liên kết cho biết, đó là một cảnh báo có thể được bỏ qua.
jena

7

Với một tình huống như sau,

> 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

Như đã đề cập trong các câu trả lời khác, ý tưởng là có một số loại phản installứng xảy ra đối với các gói không nhất quán.

Do đó, với một vài bản sao - & - dán, bạn có thể:

> 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

(và bạn sẽ phải lặp lại cho tất cả các gói)


"Lối tắt" của tôi

Ngoài ra, hãy tạo ra một lớp lót (xấu xí) (điều này sẽ hoạt động cho Windows cũng như các nền tảng khác)

Lưu ý : bởi "ORIGINAL_COMMAND", tôi đang đề cập đến bất kỳ lệnh nào cung cấp cho bạn thông báo lỗi (lý tưởng là không có bất kỳ tác dụng phụ nào khác)

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

Mở rộng một lớp lót ở trên:

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

Lệnh conda install -c anaconda anacondađã thực hiện thủ thuật cho tôi. Đối với thiết lập của tôi, tôi cần chỉ định kênh nếu không nó sẽ không hoạt động. Sau khi chạy lệnh trong thiết bị đầu cuối, tôi được nhắc cập nhật danh sách các gói được phát hiện là không nhất quán. Nếu không có bước này, tôi không thể cài đặt hoặc cập nhật bất kỳ gói nào có conda install <package_name>hoặc conda update <package_nametương ứng.


5

Gặp phải vấn đề tương tự và không có giải pháp nào khác phù hợp với tôi. Kết thúc việc phải gỡ cài đặt và cài đặt lại conda, sau đó cài đặt lại tất cả các thư viện của tôi.


1
Tại sao lại ủng hộ? Tôi đã thử nhiều giải pháp khác, tất cả đều dẫn đến cùng một thông báo về các gói không nhất quán và chung cư quay mãi. Quá trình cài đặt lại đầy đủ chỉ mất vài phút và cho tôi hệ thống hoạt động trở lại. Tôi rõ ràng sẽ không khuyến nghị điều này nếu bạn có bất kỳ môi trường có giá trị nào cần được bảo tồn.
Bas Swinckels

@BasSwinckels lol có lẽ tôi đã không nhấn mạnh đủ rằng KHÔNG CÓ giải pháp nào khác phù hợp với tôi.
jschabs

5

Giải pháp tối ưu:

conda activate base
conda install anaconda
conda update --all

Hoạt động trên Windows 10 và Ubuntu 18.04 (tín dụng cho @ MF.OX cho ubuntu).

Đã xóa các vấn đề sau cho tôi:

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

cảm ơn, nó hoạt động. Sau khi cập nhật env cơ sở, tôi đã kích hoạt env ảo của mình và lặp lại conda upadte --allđể nhận # All requested packages alread installed.thông báo.
Hongsoog

3

Nếu các giải pháp khác không hoạt động, hoàn nguyên môi trường có thể khắc phục điều này.

Sử dụng conda list --revisions, chọn một số sửa đổi và sử dụng conda install --revision [#] quay lại từng bước cho đến khi mọi thứ hoạt động trở lại.


1

Điều gì đã làm cho tôi conda remove <offending_packagename>, conda update --allvà sau đó là cuối cùng conda install <offending_packagename>.


0

Có thể bạn đã cài đặt anaconda với python 2.7 nhưng sau đó bạn đã sử dụng python 3.x. Do đó, bạn đang nhận được một thông báo lỗi. Trong trường hợp của tôi, tôi đã giải quyết vấn đề bằng cách kích hoạt anaconda với python 2.7:

conda create --name py2 python=2.7
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.