PackageNotFoundError: Paket berikut ini tidak tersedia dari saluran saat ini:

123

Saya agak baru mengenal Python. Saya telah menggunakannya dalam banyak proyek, tetapi tidak benar-benar perlu menyimpang dari pengaturan standarnya. Saya mencoba menginstal beberapa paket baru untuk mendapatkan akses ke fungsi yang diperlukan untuk tugas universitas. Ketika saya mencoba menginstal, saya mendapatkan yang berikut:

(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

...

Dan banyak saluran lain yang serupa dengan yang di atas.

Saya telah mencari solusi, tetapi belum menemukan sesuatu yang substansial. Saya telah melihat bahwa mungkin ada masalah dengan Windows, itulah yang saya gunakan. Setelah itu saya tidak tahu apa yang sedang terjadi.

Perlu diingat, saya tidak begitu mengerti cara kerja saluran dan paket, jadi semua wawasan tentang masalah itu juga akan bagus.

Sunafegon
sumber
Catatan untuk siapa pun yang membaca ini: Jangan gunakan lingkungan dasar untuk semua proyek Anda, atau sama sekali, sungguh.
AMC

Jawaban:

129

Coba tambahkan conda-menempa saluran ke daftar saluran dengan perintah ini:
conda config --append channels conda-forge. Ini memberitahu conda untuk juga melihat saluran conda-forge saat Anda mencari paket. Anda kemudian dapat menginstal dua paket dengan conda install slycot control.

Saluran pada dasarnya adalah server bagi orang-orang untuk meng-host paket dan conda-forge berbasis komunitas biasanya merupakan tempat yang baik untuk memulai ketika paket tidak tersedia melalui saluran standar. Saya memeriksa dan slycot dan kontrol tampaknya tersedia di sana.

Max S.
sumber
2
Saya mencoba apa yang Anda sarankan dan tiba di sini: {Menyelesaikan lingkungan: gagal PackagesNotFoundError: Paket berikut tidak tersedia dari saluran saat ini: - slycot Saluran saat ini: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } Dan lebih banyak tautan dengan conda-forge di bagian bawah. Saya pernah membaca di beberapa forum bahwa slycot saat ini hanya didukung untuk linux dan OSX. Namun, tidak yakin validitas klaim tersebut.
Sunafegon
1
Nah, jika paket tersebut tidak didukung oleh Windows, saya takut Anda beruntung. Hanya hal lain yang terlintas dalam pikiran adalah mencoba menginstalnya melalui pip ( pip install ...). Ini akan menginstal paket di conda-directory Anda tetapi menggunakan pengelola paket build-in Python sebagai gantinya. Terkadang paket hanya tersedia melalui pip.
Max S.
Saya harus menambahkan conda config --add channels loopbiountuk menginstal gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx
4
Biasanya ide yang bagus untuk hanya conda config --appendsaluran. Ini akan menempatkannya pada prioritas yang lebih rendah daripada saluran standar dan hanya terlihat di sana jika paket tidak ditemukan di tempat lain. --addmeletakkannya di atas daftar saluran, jadi condaakan menginstal sebanyak mungkin paket dari saluran khusus ... dari pengalaman saya, ini bisa menjadi berantakan.
Max S.
Bekerja dengan sempurna. Jalankan solusi @MaxS sebelum membuat lingkungan dan menginstal persyaratan:conda create --name <env_name> --file <requirements.txt>
datalifenyc
24

Sudahkah Anda mencoba:

pip install <package>

atau

conda install -c conda-forge <package>
mpour
sumber
11
Ini tidak membantu orang memahami PackagesNotFoundError, atau apapun, dalam hal ini. -c conda-forgeBukan mantra ajaib yang akan memperbaiki segalanya, dan ada perbedaan penting antara menggunakan Conda dan pip sebagai pengelola paket di lingkungan Conda. Sejujurnya, ini ceroboh dan malas.
AMC
4

Terima kasih, Max S. conda-forge bekerja untuk saya juga.

scikit-learn di Anaconda-Jupyter Notebook.

Mengupgrade scikit-learn saya dari 0.19.1 menjadi 0.19.2 di anaconda yang diinstal di Ubuntu pada instance Google VM:

Jalankan perintah berikut di terminal:

Pertama, periksa paket yang tersedia dengan versinya

conda list    

Ini akan menunjukkan paket dan versi yang diinstal di output:

scikit-learn              0.19.1           py36hedc7406_0  

Tingkatkan ke rilis 0.19.2 Juli 2018.

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

Sekarang periksa versi yang diinstal dengan benar atau tidak?

conda list 

Outputnya adalah:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Catatan: Jangan gunakan perintah pip jika Anda menggunakan Anaconda atau Miniconda

Saya mencoba mengikuti perintah:

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

Ini akan menginstal paket yang diperlukan juga akan ditampilkan di conda listtetapi ketika mencoba mengimpor paket itu tidak akan berfungsi.

Di situs web http://scikit-learn.org/stable/install.html disebutkan sebagai: Peringatan Untuk memutakhirkan atau menghapus instalasi scikit-learn yang diinstal dengan Anaconda atau conda, Anda tidak boleh menggunakan pip.

Yogesh
sumber
1
Jawaban ini hanya relevan untuk paket tertentu di lingkungan Anda pada pergerakan waktu tertentu, dan kemungkinan tidak akan pernah menguntungkan orang lain.
AMC
1

Saya mencoba menginstal paket fancyimpute untuk imputasi tetapi tidak berhasil. Tetapi ketika saya mencoba perintah di bawah ini, itu terinstal: Perintah:

conda update conda
conda update anaconda
pip install fancyimpute 

(di sini saya mencoba memberi perintah conda install fancyimpute yang tidak berfungsi)

ajay krishna saxena
sumber
Jawaban ini hanya relevan untuk paket tertentu di lingkungan Anda pada pergerakan waktu tertentu, dan kemungkinan tidak akan pernah menguntungkan orang lain.
AMC
0

Bahkan saya menghadapi masalah yang sama, tetapi diselesaikan dengan

conda install -c conda-forge pysoundfile

saat mengimpornya

import soundfile 
yunus
sumber
2
Jawaban ini hanya relevan untuk paket tertentu di lingkungan Anda pada pergerakan waktu tertentu, dan kemungkinan tidak akan pernah menguntungkan orang lain.
AMC
0

Jika lingkungan base conda Anda aktif ...

  • dalam hal ini "(base)" kemungkinan besar akan ditampilkan di awal atau prompt perintah terminal Anda.

... dan pip dipasang di lingkungan dasar Anda ...

  • yang mana: $ conda list | grep pip

... kemudian instal paket yang tidak ditemukan hanya dengan $ pip install <packagename>

markling
sumber