สภาพแวดล้อมไม่สอดคล้องกันโปรดตรวจสอบแผนแพ็คเกจอย่างละเอียด


131

ฉันพยายามอัปเดตหรือติดตั้งแพ็คเกจใหม่จาก anaconda และเมื่อเร็ว ๆ นี้ข้อความนี้ปรากฏขึ้น:

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แต่มันก็ยังคงอยู่

ข้อมูล 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

คำตอบ:


85

ฉันประสบปัญหาเดียวกัน เพียงแค่ทำงาน

conda install anaconda

แก้ปัญหาให้ฉัน


1
ฉันมีปัญหาเดียวกันและฉันก็ทำตามที่คุณแนะนำ แต่ฉันยังคงได้รับความไม่สอดคล้องกัน ฉันใช้ osx-64 คุณใช้ osx ด้วยหรือเปล่า
pink.slash

ใช่ฉันมี macOS Mojave v10.14.4
mm49307

2
ฉันได้รับข้อผิดพลาดconda update --allดังนั้นจึงไม่สามารถแก้ปัญหาได้ (ในบางกรณี) แต่conda installดูเหมือนว่าจะใช้งานได้ (และเพื่ออัปเดตแพ็คเกจอื่น ๆ ในรายการ)
Giacomo Catenazzi

9
สำหรับฉันการแก้ปัญหาอยู่ใน 2 ขั้นตอน: ขั้นแรกconda install anacondaซึ่งเพิ่งติดตั้งแพ็คเกจ anaconda และลบแพ็คเกจ conda หนึ่งชุด + อัปเดตการอ้างอิงสองสามอย่าง จากนั้นฉันก็ทำตามconda update --allและทุกอย่างก็เรียบร้อยอีกครั้ง! ระบบของฉันคือ Ubuntu 18.04 และฉันพบปัญหานี้หลังจากอัปเดตspyderแพ็คเกจซึ่งทำให้เกิดการอัปเดตcondaตัวเองและทำให้เกิดความไม่สอดคล้องกัน
MF.OX

conda install anacondaได้ผลสำหรับฉันเช่นกันแม้ว่าฉันจะต้องรอมากกว่า 5 นาทีเพื่อให้ conda เสนอแผนแพ็คเกจ
Sahar

51

เห็นสิ่งนี้ในGoogle Groups

ข้อความนี้ถูกเพิ่มใน conda 4.6.9 ก่อนหน้านี้ไม่มีข้อบ่งชี้เมื่อ conda ตรวจพบสภาพแวดล้อมที่ไม่สอดคล้องกันเว้นแต่ว่า conda จะทำงานในโหมดดีบัก มีแนวโน้มว่าสภาพแวดล้อมของคุณไม่สอดคล้องกันในบางครั้ง แต่การอัปเกรดเป็น conda ทำให้มองเห็นได้ ตัวเลือกที่ดีที่สุดในการรัน "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 จะแก้ปัญหาความไม่สอดคล้องกันด้วยตัวมันเอง


นี่เป็นคำตอบที่ดีกว่าเพราะจะอัปเดตเฉพาะแพ็กเกจที่ขัดแย้งและทำให้เกิดความไม่สอดคล้องกัน
Rich Lysakowski PhD

1
สิ่งนี้ไม่สามารถแก้ปัญหาได้เนื่องจากความไม่สอดคล้องไม่ได้เกิดจากการอ้างอิง แต่เกิดจากการเปลี่ยนแปลงข้อมูลเมตาบนฝั่งเซิร์ฟเวอร์ (เช่นในช่องสัญญาณ) ฉันลองแล้ว แต่มันไม่ได้ผล แต่ตามที่ลิงค์บอกมันเป็นคำเตือนที่สามารถเพิกเฉยได้
เจ

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

ดังที่กล่าวไว้ในคำตอบอื่น ๆ แนวคิดคือการมี re- installation บางอย่างที่จะเกิดขึ้นสำหรับแพ็คเกจที่ไม่สอดคล้องกัน

ดังนั้นด้วยการคัดลอก - & - วางคุณสามารถ:

> 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
ทำไมต้องโหวตลง? ฉันลองใช้วิธีแก้ปัญหาอื่น ๆ มากมายซึ่งส่งผลให้เกิดข้อความเดียวกันเกี่ยวกับแพ็คเกจที่ไม่สอดคล้องกันและ conda หมุนตลอดไป การติดตั้งใหม่ทั้งหมดใช้เวลาเพียงไม่กี่นาทีและให้ระบบทำงานอีกครั้ง เห็นได้ชัดว่าฉันจะไม่แนะนำสิ่งนี้หากคุณมีสภาพแวดล้อมที่มีค่าที่จำเป็นต้องรักษาไว้
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 พื้นฐานฉันได้เปิดใช้งาน virtual env ของฉันและทำซ้ำconda upadte --allเพื่อรับ# All requested packages alread installed.ข้อความ
Hongsoog

3

หากวิธีแก้ปัญหาอื่นไม่ได้ผลการคืนสภาพแวดล้อมสามารถแก้ไขได้

ใช้conda list --revisionsเลือกหมายเลขการแก้ไขและใช้conda install --revision [#] ย้อนกลับไปทีละขั้นตอนจนกว่าทุกอย่างจะทำงานอีกครั้ง



0

คุณอาจติดตั้ง anaconda ด้วย python 2.7 แต่ต่อมาคุณใช้ python 3.x ดังนั้นคุณจะได้รับข้อความแสดงข้อผิดพลาด ในกรณีของฉันฉันแก้ปัญหาโดยการเปิดใช้งาน anaconda ด้วย python 2.7:

conda create --name py2 python=2.7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.