PackagesNotFoundError: Die folgenden Pakete sind auf aktuellen Kanälen nicht verfügbar:

123

Ich bin etwas neu in Python. Ich habe es in einer Reihe von Projekten verwendet, musste aber nicht wirklich von der Standardeinstellung abweichen. Ich versuche, einige neue Pakete zu installieren, um Zugriff auf Funktionen zu erhalten, die für eine Universitätsaufgabe erforderlich sind. Wenn ich versuche zu installieren, erhalte ich Folgendes:

(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

...

Und eine Reihe anderer Kanäle, die denen oben ähnlich sind.

Ich habe nach einer Lösung gesucht, aber nichts Wesentliches gefunden. Ich habe gesehen, dass es ein Problem mit Windows sein kann, worauf ich es verwende. Danach habe ich keine Ahnung, was los ist.

Denken Sie daran, ich verstehe nicht wirklich, wie Kanäle und Pakete funktionieren, daher wäre jeder Einblick in diese Angelegenheit auch großartig.

Sunafegon
quelle
Hinweis für alle, die dies lesen: Verwenden Sie die Basisumgebung nicht für alle Ihre Projekte oder überhaupt nicht.
AMC

Antworten:

129

Versuchen Sie, den Conda-Forge- Kanal mit diesem Befehl zu Ihrer Kanalliste hinzuzufügen :
conda config --append channels conda-forge. Es weist conda an, bei der Suche nach Paketen auch auf den Kanal conda-forge zu schauen . Sie können dann einfach die beiden Pakete mit installieren conda install slycot control.

Kanäle sind im Grunde genommen Server, auf denen Benutzer Pakete hosten können, und die Community-gesteuerte Conda-Forge ist normalerweise ein guter Ausgangspunkt, wenn Pakete nicht über die Standardkanäle verfügbar sind. Ich habe nachgesehen und sowohl Slycot als auch Kontrolle scheinen dort verfügbar zu sein.

Max S.
quelle
2
Ich habe versucht, was Sie vorgeschlagen haben, und bin zu folgendem Ergebnis gekommen: {Lösungsumgebung: fehlgeschlagen PackagesNotFoundError: Die folgenden Pakete sind auf aktuellen Kanälen nicht verfügbar: - slycot Aktuelle Kanäle: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } Und weitere Links zu den Conda-Forge-Links unten. Ich habe in einigen Foren gelesen, dass Slycot derzeit nur für Linux und OSX unterstützt wird. Ich bin mir jedoch nicht sicher, ob diese Ansprüche gültig sind.
Sunafegon
1
Wenn das Paket von Windows nicht unterstützt wird, haben Sie leider kein Glück. Das einzige, was mir in den Sinn kommt, ist der Versuch, es über pip ( pip install ...) zu installieren . Dadurch wird das Paket in Ihrem Conda-Verzeichnis installiert, stattdessen wird der integrierte Paketmanager von Python verwendet. Manchmal sind Pakete nur über pip erhältlich.
Max S.
Ich musste hinzufügen conda config --add channels loopbio, um gtk2 ( github.com/loopbio/gtk2-feedstock ) zu installieren
ezchx
4
Es ist im Allgemeinen eine gute Idee, nur conda config --appendKanäle zu verwenden. Dadurch wird die Priorität niedriger als bei den Standardkanälen und nur dort angezeigt, wenn das Paket nicht an anderer Stelle gefunden wird. --addsetzt es ganz oben auf die Kanalliste, condainstalliert also so viele Pakete wie möglich aus dem benutzerdefinierten Kanal ... meiner Erfahrung nach kann dies chaotisch werden.
Max S.
Hat perfekt funktioniert. Führen Sie die @ MaxS-Lösung aus, bevor Sie eine Umgebung erstellen und die Anforderungen installieren:conda create --name <env_name> --file <requirements.txt>
datalifenyc
24

Hast du es versucht:

pip install <package>

oder

conda install -c conda-forge <package>
mpour
quelle
11
Dies hilft den Leuten nicht, PackagesNotFoundErrors oder irgendetwas zu verstehen . -c conda-forgeIst keine magische Beschwörung, die alles behebt, und es gibt wichtige Unterschiede zwischen der Verwendung von Conda und pip als Paketmanager in einer Conda-Umgebung. Ehrlich gesagt ist es schlampig und faul.
AMC
4

Danke, Max S. conda-forge hat auch für mich gearbeitet.

scikit-learn auf Anaconda-Jupyter Notebook.

Aktualisieren meines Scikit-Learn von 0.19.1 auf 0.19.2 in Anaconda, das unter Ubuntu auf einer Google VM-Instanz installiert ist:

Führen Sie die folgenden Befehle im Terminal aus:

Überprüfen Sie zunächst die verfügbaren Pakete mit Versionen

conda list    

In der Ausgabe werden Pakete und ihre installierten Versionen angezeigt:

scikit-learn              0.19.1           py36hedc7406_0  

Upgrade auf Version 0.19.2 vom Juli 2018.

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

Überprüfen Sie nun die korrekt installierte Version oder nicht?

conda list 

Ausgabe ist:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Hinweis: Verwenden Sie den Befehl pip nicht, wenn Sie Anaconda oder Miniconda verwenden

Ich habe folgende Befehle ausprobiert:

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

Es werden die erforderlichen Pakete installiert, die auch im conda listangezeigt werden. Wenn Sie jedoch versuchen, dieses Paket zu importieren, funktioniert es nicht.

Auf der Website http://scikit-learn.org/stable/install.html wird Folgendes erwähnt: Warnung Um ein mit Anaconda oder conda installiertes scikit-learn zu aktualisieren oder zu deinstallieren, sollten Sie den pip nicht verwenden.

Yogesh
quelle
1
Diese Antwort ist nur für ein bestimmtes Paket in Ihrer Umgebung zu einem bestimmten Zeitpunkt relevant und wird wahrscheinlich nie jemand anderem zugute kommen.
AMC
1

Ich habe versucht, ein Fancyimpute-Paket für die Imputation zu installieren, aber es gab kein Glück. Aber als ich die folgenden Befehle ausprobierte, wurde es installiert: Befehle:

conda update conda
conda update anaconda
pip install fancyimpute 

(Hier habe ich versucht, Befehl Conda Install Fancyimpute zu geben, was nicht funktioniert hat)

ajay krishna saxena
quelle
Diese Antwort ist nur für ein bestimmtes Paket in Ihrer Umgebung zu einem bestimmten Zeitpunkt relevant und wird wahrscheinlich nie jemand anderem zugute kommen.
AMC
0

Sogar ich hatte das gleiche Problem, löste es aber durch

conda install -c conda-forge pysoundfile

beim Importieren

import soundfile 
Yunus
quelle
2
Diese Antwort ist nur für ein bestimmtes Paket in Ihrer Umgebung zu einem bestimmten Zeitpunkt relevant und wird wahrscheinlich nie jemand anderem zugute kommen.
AMC
0

Wenn Ihre Basis-Conda-Umgebung aktiv ist ...

  • In diesem Fall wird "(base)" höchstwahrscheinlich am Start oder an der Eingabeaufforderung Ihres Terminals angezeigt.

... und pip ist in Ihrer Basisumgebung installiert ...

  • was es ist: $ conda list | grep pip

... dann installieren Sie das nicht gefundene Paket einfach durch $ pip install <packagename>

Markierung
quelle