PackagesNotFoundError: แพ็คเกจต่อไปนี้ไม่พร้อมใช้งานจากช่องทางปัจจุบัน:


124

ฉันค่อนข้างใหม่กับ Python ฉันเคยใช้มันในหลาย ๆ โปรเจ็กต์ แต่ไม่จำเป็นต้องหลงจากการตั้งค่ามาตรฐาน ฉันกำลังพยายามติดตั้งแพ็คเกจใหม่เพื่อเข้าถึงฟังก์ชันที่จำเป็นสำหรับการมอบหมายงานของมหาวิทยาลัย เมื่อฉันพยายามติดตั้งฉันจะได้รับสิ่งต่อไปนี้:

(base) C:\Anaconda2\Jupyter>conda install -c python-control -c cyclus slycot control
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - slycot
  - control

Current channels:

  - https://conda.anaconda.org/python-control/win-64
  - https://conda.anaconda.org/python-control/noarch
  - https://conda.anaconda.org/cyclus/win-64

...

และช่องอื่น ๆ ที่คล้ายกับด้านบน

ฉันกำลังค้นหาวิธีแก้ปัญหา แต่ก็ไม่พบอะไรที่เป็นชิ้นเป็นอัน ฉันเห็นว่ามันอาจเป็นปัญหากับ Windows ซึ่งเป็นสิ่งที่ฉันใช้อยู่ ที่ผ่านมาฉันไม่ได้ระแคะระคายว่าเกิดอะไรขึ้น

โปรดทราบว่าฉันไม่ค่อยเข้าใจวิธีการทำงานของช่องและแพ็กเกจดังนั้นข้อมูลเชิงลึกเกี่ยวกับเรื่องนั้นก็จะดีเช่นกัน


หมายเหตุสำหรับทุกคนที่อ่านสิ่งนี้: อย่าใช้สภาพแวดล้อมพื้นฐานสำหรับโครงการทั้งหมดของคุณหรือเลยจริงๆ
AMC

คำตอบ:


130

ลองเพิ่มCONDA-ปลอม
conda config --append channels conda-forgeช่องทางไปยังรายการของช่องด้วยคำสั่งนี้ มันบอกให้ conda ดูช่องconda-forge ด้วยเมื่อคุณค้นหาแพ็คเกจ จากนั้นคุณสามารถติดตั้งสองแพ็คเกจด้วยconda install slycot control.

ช่องมีพื้นเซิร์ฟเวอร์สำหรับคนที่จะแพคเกจโฮสต์บนและชุมชนที่ขับเคลื่อนด้วยCONDA-ปลอมมักจะเป็นสถานที่ที่ดีที่จะเริ่มต้นเมื่อแพคเกจไม่สามารถใช้ได้ผ่านทางช่องมาตรฐาน ฉันตรวจสอบแล้วและดูเหมือนว่าทั้งslycotและcontrolจะพร้อมใช้งานที่นั่น


2
ฉันได้ลองสิ่งที่คุณแนะนำแล้วและได้มาถึงสิ่งนี้: {Solving environment: failed PackagesNotFoundError: แพ็กเกจต่อไปนี้ไม่สามารถใช้ได้ในช่องปัจจุบัน: - slycot ช่องปัจจุบัน: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } และลิงก์อื่น ๆ ที่เกี่ยวข้องกับ conda-forge ที่ด้านล่าง ฉันได้อ่านในฟอรัมบางแห่งว่า slycot รองรับเฉพาะ linux และ OSX เท่านั้น อย่างไรก็ตามไม่แน่ใจถึงความถูกต้องของการอ้างสิทธิ์เหล่านั้น
Sunafegon

1
ถ้า Windows ไม่รองรับแพคเกจคุณก็โชคไม่ดีที่ฉันกลัว มีเพียงสิ่งอื่นที่อยู่ในใจคือพยายามติดตั้งผ่าน pip ( pip install ...) เพื่อติดตั้งแพ็กเกจใน conda-directory แต่ใช้ build-in package manager ของ Python แทน บางครั้งแพ็กเกจสามารถใช้ได้ผ่าน pip เท่านั้น
Max S.

ฉันต้องเพิ่มconda config --add channels loopbioเพื่อติดตั้ง gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx

4
โดยทั่วไปควรใช้เฉพาะconda config --appendช่อง สิ่งนี้จะทำให้มีลำดับความสำคัญต่ำกว่าช่องมาตรฐานและดูที่นั่นก็ต่อเมื่อไม่พบแพ็คเกจที่อื่น --addวางไว้ด้านบนของรายการช่องดังนั้นcondaจะติดตั้งแพ็คเกจจากช่องที่กำหนดเองให้มากที่สุด ... จากประสบการณ์ของฉันสิ่งนี้อาจยุ่งเหยิง
Max S.

ทำงานได้อย่างสมบูรณ์แบบ เรียกใช้โซลูชัน @MaxS ก่อนสร้างสภาพแวดล้อมและติดตั้งข้อกำหนด:conda create --name <env_name> --file <requirements.txt>
datalifenyc

25

คุณได้ลอง:

pip install <package>

หรือ

conda install -c conda-forge <package>

11
สิ่งนี้ไม่ได้ช่วยให้ผู้คนเข้าใจPackagesNotFoundErrors หรืออะไรเลยสำหรับเรื่องนั้น -c conda-forgeไม่ใช่คาถาเวทย์มนตร์ที่จะแก้ไขทุกอย่างและมีความแตกต่างที่สำคัญระหว่างการใช้ Conda และ pip ​​เป็นตัวจัดการแพ็คเกจในสภาพแวดล้อม Conda ค่อนข้างตรงไปตรงมามันเลอะเทอะและขี้เกียจ
AMC

4

ขอบคุณ Max S. conda-forge ก็ทำงานให้ฉันเช่นกัน

scikit-learn บน Anaconda-Jupyter Notebook

การอัพเกรด scikit-learn ของฉันจาก 0.19.1 เป็น 0.19.2 ใน anaconda ที่ติดตั้งบน Ubuntu บนอินสแตนซ์ Google VM:

รันคำสั่งต่อไปนี้ในเทอร์มินัล:

ขั้นแรกตรวจสอบแพ็คเกจที่มีพร้อมเวอร์ชัน

conda list    

จะแสดงแพ็กเกจและเวอร์ชันที่ติดตั้งไว้ในเอาต์พุต:

scikit-learn              0.19.1           py36hedc7406_0  

อัปเกรดเป็นรุ่น 0.19.2 กรกฎาคม 2018

conda config --append channels conda-forge
conda install scikit-learn=0.19.2

ตอนนี้ตรวจสอบเวอร์ชั่นที่ติดตั้งถูกต้องหรือไม่?

conda list 

ผลลัพธ์คือ:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

หมายเหตุ: อย่าใช้คำสั่ง pip หากคุณใช้ Anaconda หรือ Miniconda

ฉันลองใช้คำสั่งต่อไปนี้:

!conda update conda 
!pip install -U scikit-learn

มันจะติดตั้งแพ็กเกจที่ต้องการและจะแสดงในconda listแต่เมื่อพยายามนำเข้าแพ็คเกจนั้นจะไม่ทำงาน

ในเว็บไซต์http://scikit-learn.org/stable/install.htmlมีการกล่าวถึงคำเตือนในการอัปเกรดหรือถอนการติดตั้ง scikit-learn ที่ติดตั้งกับ Anaconda หรือ conda คุณไม่ควรใช้ pip


1
คำตอบนี้เกี่ยวข้องกับแพ็กเกจเฉพาะในสภาพแวดล้อมของคุณในช่วงเวลาใดเวลาหนึ่งและไม่น่าจะเป็นประโยชน์ต่อผู้อื่น
AMC

1

ฉันพยายามติดตั้งแพคเกจ fancyimpute สำหรับการใส่ แต่ไม่มีโชค แต่เมื่อฉันลองใช้คำสั่งด้านล่างมันได้รับการติดตั้ง: คำสั่ง:

conda update conda
conda update anaconda
pip install fancyimpute 

(ที่นี่ฉันพยายามให้คำสั่ง conda ติดตั้ง fancyimpute ซึ่งใช้งานไม่ได้)


คำตอบนี้เกี่ยวข้องกับแพ็กเกจเฉพาะในสภาพแวดล้อมของคุณในช่วงเวลาใดเวลาหนึ่งและไม่น่าจะเป็นประโยชน์ต่อผู้อื่น
AMC

0

แม้ว่าฉันจะประสบปัญหาเดียวกัน แต่ก็แก้ไขได้โดย

conda install -c conda-forge pysoundfile

ขณะนำเข้า

import soundfile 

2
คำตอบนี้เกี่ยวข้องกับแพ็กเกจเฉพาะในสภาพแวดล้อมของคุณในช่วงเวลาใดเวลาหนึ่งและไม่น่าจะเป็นประโยชน์ต่อผู้อื่น
AMC

0

หากสภาพแวดล้อม conda พื้นฐานของคุณทำงานอยู่ ...

  • ซึ่งในกรณีนี้ "(ฐาน)" มักจะแสดงที่จุดเริ่มต้นหรือพร้อมท์คำสั่งเทอร์มินัลของคุณ

... และ pip ​​ถูกติดตั้งในสภาพแวดล้อมพื้นฐานของคุณ ...

  • ซึ่งมันคือ: $ conda list | grep pip

... จากนั้นติดตั้งแพ็คเกจที่ไม่พบเพียงแค่ $ pip install <packagename>



0

Conda มีคำแนะนำโดยละเอียดเกี่ยวกับการติดตั้งแพ็คเกจที่ไม่ใช่ conda สามารถดูรายละเอียดได้ที่นี่: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html

แนวคิดพื้นฐานคือการใช้ conda-forge หากไม่ได้ผลให้เปิดใช้งานสภาพแวดล้อมและใช้ pip

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