PackagesNotFoundError: Các gói sau không khả dụng trên các kênh hiện tại:


123

Tôi hơi mới đối với Python. Tôi đã sử dụng nó trong một loạt các dự án, nhưng không thực sự cần thiết phải đi lạc khỏi thiết lập tiêu chuẩn của nó. Tôi đang cố gắng cài đặt một số gói mới để có quyền truy cập vào các chức năng cần thiết cho bài tập ở trường đại học. Khi tôi cố gắng cài đặt, tôi nhận được những điều sau:

(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

...

Và một loạt các kênh khác tương tự như trên.

Tôi đã tìm kiếm một giải pháp, nhưng không tìm thấy bất cứ điều gì đáng kể. Tôi đã thấy rằng nó có thể là một vấn đề với Windows, đó là những gì tôi đang sử dụng nó. Quá khứ mà tôi không có manh mối về những gì đang xảy ra.

Xin lưu ý rằng tôi không thực sự hiểu các kênh và gói hoạt động như thế nào, vì vậy mọi thông tin chi tiết về vấn đề đó cũng sẽ rất tuyệt.


Lưu ý cho bất kỳ ai đang đọc điều này: Không sử dụng môi trường cơ sở cho tất cả các dự án của bạn, hoặc thực sự.
AMC

Câu trả lời:


129

Thử thêm conda-rèn kênh vào danh sách các kênh truyền hình bằng lệnh này:
conda config --append channels conda-forge. Nó yêu cầu conda cũng tìm kiếm trên kênh conda-forge khi bạn tìm kiếm các gói hàng. Sau đó, bạn có thể chỉ cần cài đặt hai gói với conda install slycot control.

Các kênh về cơ bản là máy chủ để mọi người lưu trữ các gói trên đó và conda-forge do cộng đồng điều khiển thường là nơi tốt để bắt đầu khi các gói không có sẵn qua các kênh tiêu chuẩn. Tôi đã kiểm tra và cả slycotkiểm soát dường như có sẵn ở đó.


2
Tôi đã thử những gì bạn đề xuất và đến được đây: {Môi trường giải quyết: không thành công PackagesNotFoundError: Các gói sau không khả dụng từ các kênh hiện tại: - slycot Các kênh hiện tại: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } Và nhiều liên kết khác với các conda-forge ở dưới cùng. Tôi đã đọc trên một số diễn đàn rằng slycot hiện chỉ được hỗ trợ cho linux và OSX. Tuy nhiên, không chắc chắn về tính hợp lệ của những tuyên bố đó.
Sunafegon

1
Chà, nếu gói này không được Windows hỗ trợ, tôi e rằng bạn sẽ gặp may. Chỉ có một điều khác xuất hiện trong tâm trí là cố gắng cài đặt nó qua pip ( pip install ...). Thao tác này sẽ cài đặt gói trong thư mục chung cư của bạn nhưng thay vào đó sử dụng trình quản lý gói tích hợp sẵn của Python. Đôi khi các gói chỉ có sẵn qua pip.
Tối đa S.

Tôi đã phải thêm conda config --add channels loopbiođể cài đặt gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx

4
Nói chung là chỉ conda config --appendcác kênh. Điều này sẽ đặt nó ở mức độ ưu tiên thấp hơn so với các kênh tiêu chuẩn và chỉ xuất hiện ở đó nếu gói không được tìm thấy ở nơi khác. --addđặt nó lên đầu danh sách kênh, vì vậy condasẽ cài đặt càng nhiều gói từ kênh tùy chỉnh càng tốt ... theo kinh nghiệm của tôi, điều này có thể trở nên lộn xộn.
Max S.

Hoạt động hoàn hảo. Chạy giải pháp @MaxS trước khi tạo môi trường và cài đặt các yêu cầu:conda create --name <env_name> --file <requirements.txt>
datalifenyc

24

Bạn đã thử chưa:

pip install <package>

hoặc là

conda install -c conda-forge <package>

11
Điều này không giúp mọi người hiểu được về PackagesNotFoundErrorvấn đề đó. -c conda-forgeKhông phải một câu thần chú ma thuật nào đó sẽ sửa chữa mọi thứ, và có những khác biệt quan trọng giữa việc sử dụng Conda và pip làm trình quản lý gói trong môi trường Conda. Nói thẳng ra là cẩu thả và lười biếng.
AMC

4

Cảm ơn, Max S. conda-forge cũng đã làm việc cho tôi.

scikit-learning trên Anaconda-Jupyter Notebook.

Nâng cấp scikit-learning của tôi từ 0.19.1 lên 0.19.2 trong anaconda được cài đặt trên Ubuntu trên phiên bản Google VM:

Chạy các lệnh sau trong terminal:

Đầu tiên, hãy kiểm tra các gói có phiên bản

conda list    

Nó sẽ hiển thị các gói và các phiên bản đã cài đặt của chúng trong đầu ra:

scikit-learn              0.19.1           py36hedc7406_0  

Nâng cấp lên phiên bản 0.19.2 tháng 7 năm 2018.

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

Bây giờ hãy kiểm tra phiên bản đã cài đặt đúng hay chưa?

conda list 

Đầu ra là:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Lưu ý: Không sử dụng lệnh pip nếu bạn đang sử dụng Anaconda hoặc Miniconda

Tôi đã thử các lệnh sau:

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

Nó sẽ cài đặt các gói yêu cầu cũng sẽ hiển thị trong conda listnhưng khi cố gắng nhập gói đó, nó sẽ không hoạt động.

Trên trang web http://scikit-learn.org/stable/install.html nó được đề cập là: Cảnh báo Để nâng cấp hoặc gỡ cài đặt scikit-learning được cài đặt với Anaconda hoặc conda, bạn không nên sử dụng pip.


1
Câu trả lời này chỉ liên quan đến một gói cụ thể trong môi trường của bạn tại một thời điểm chuyển động cụ thể và không có khả năng mang lại lợi ích cho bất kỳ ai khác.
AMC

1

Tôi đã cố gắng cài đặt gói ưa thích để áp dụng nhưng không có may mắn. Nhưng khi tôi thử các lệnh dưới đây, nó đã được cài đặt:

conda update conda
conda update anaconda
pip install fancyimpute 

(ở đây tôi đã cố gắng đưa ra lệnh điều chỉnh cài đặt ưa thích nhưng không hoạt động)


Câu trả lời này chỉ liên quan đến một gói cụ thể trong môi trường của bạn tại một thời điểm chuyển động cụ thể và không có khả năng mang lại lợi ích cho bất kỳ ai khác.
AMC

0

Ngay cả khi tôi đang đối mặt với cùng một vấn đề, nhưng đã giải quyết nó bằng cách

conda install -c conda-forge pysoundfile

trong khi nhập nó

import soundfile 

2
Câu trả lời này chỉ liên quan đến một gói cụ thể trong môi trường của bạn tại một thời điểm chuyển động cụ thể và không có khả năng mang lại lợi ích cho bất kỳ ai khác.
AMC

0

Nếu môi trường căn hộ của bạn đang hoạt động ...

  • trong trường hợp đó "(base)" có thể sẽ hiển thị ở đầu hoặc dấu nhắc lệnh đầu cuối của bạn.

... và pip được cài đặt trong môi trường cơ sở của bạn ...

  • nó là: $ conda list | grep pip

... sau đó cài đặt gói không tìm thấy chỉ bằng cách $ pip install <packagename>



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.