PackagesNotFoundError: i seguenti pacchetti non sono disponibili dai canali correnti:


123

Sono un po 'nuovo in Python. L'ho usato in un sacco di progetti, ma non avevo davvero bisogno di allontanarmi dalla sua configurazione standard. Sto cercando di installare alcuni nuovi pacchetti per accedere alle funzioni necessarie per un incarico universitario. Quando provo a eseguire l'installazione, ottengo quanto segue:

(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

...

E un sacco di altri canali simili a quello sopra.

Ho cercato una soluzione, ma non ho trovato nulla di sostanziale. Ho visto che potrebbe essere un problema con Windows, che è quello su cui lo sto usando. Oltre a ciò non ho la più pallida idea di cosa stia succedendo.

Tieni presente che non capisco davvero come funzionano i canali e i pacchetti, quindi anche qualsiasi approfondimento su questo argomento sarebbe fantastico.


Nota per chiunque legga questo: non utilizzare l'ambiente di base per tutti i tuoi progetti, o per niente, davvero.
AMC

Risposte:


129

Prova ad aggiungere il Conda-fucina canale all'elenco dei canali con questo comando:
conda config --append channels conda-forge. Indica a conda di cercare anche sul canale conda-forge quando si cercano i pacchetti. È quindi possibile installare semplicemente i due pacchetti con conda install slycot control.

I canali sono fondamentalmente server su cui le persone ospitano pacchetti e il conda-forge guidato dalla comunità è di solito un buon punto di partenza quando i pacchetti non sono disponibili tramite i canali standard. Ho controllato e sia la slycot che il controllo sembrano essere disponibili lì.


2
Ho provato ciò che hai suggerito e sono arrivato a questo: {Ambiente di risoluzione: packagesNotFoundError fallito: i seguenti pacchetti non sono disponibili dai canali correnti: - slycot Canali correnti: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } E altri collegamenti con quelli conda-forge in fondo. Ho letto su alcuni forum che slycot è attualmente supportato solo per Linux e OSX. Non sono sicuro della validità di tali affermazioni, tuttavia.
Sunafegon

1
Ebbene, se il pacchetto non è supportato da Windows, temo che tu sia sfortunato. L'unica altra cosa che mi viene in mente è provare a installarlo tramite pip ( pip install ...). Questo installerà il pacchetto nella tua directory conda ma utilizzerà invece il gestore di pacchetti integrato di Python. A volte i pacchetti sono disponibili solo tramite pip.
Max S.

Ho dovuto aggiungere conda config --add channels loopbioper installare gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx

4
In genere è una buona idea utilizzare solo i conda config --appendcanali. Questo lo metterà a una priorità inferiore rispetto ai canali standard e cercherà lì solo se il pacchetto non viene trovato altrove. --addlo mette in cima all'elenco dei canali, quindi condainstallerà il maggior numero possibile di pacchetti dal canale personalizzato ... dalla mia esperienza, questo può diventare disordinato.
Max S.

Ha funzionato perfettamente. Eseguire la soluzione @MaxS prima di creare un ambiente e installare i requisiti:conda create --name <env_name> --file <requirements.txt>
datalifenyc

24

Hai provato:

pip install <package>

o

conda install -c conda-forge <package>

11
Questo non aiuta le persone a capire PackagesNotFoundErrors, o niente affatto, per quella materia. -c conda-forgeNon è un incantesimo magico che risolverà tutto e ci sono differenze importanti tra l'utilizzo di Conda e pip come gestore di pacchetti in un ambiente Conda. Francamente, è sciatto e pigro.
AMC

4

Grazie, Max S. conda-forge ha funzionato anche per me.

scikit-learn su Anaconda-Jupyter Notebook.

Aggiornamento del mio scikit-learn da 0.19.1 a 0.19.2 in anaconda installato su Ubuntu sull'istanza di Google VM:

Esegui i seguenti comandi nel terminale:

Innanzitutto, controlla disponibili i pacchetti con le versioni

conda list    

Mostrerà i pacchetti e le loro versioni installate nell'output:

scikit-learn              0.19.1           py36hedc7406_0  

Aggiornamento alla versione 0.19.2 di luglio 2018.

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

Ora controlla la versione installata correttamente o no?

conda list 

L'output è:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Nota: non utilizzare il comando pip se stai utilizzando Anaconda o Miniconda

Ho provato i seguenti comandi:

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

Installerà anche i pacchetti richiesti, conda listma quando si tenta di importare quel pacchetto non funzionerà.

Sul sito http://scikit-learn.org/stable/install.html è menzionato come: Attenzione Per aggiornare o disinstallare scikit-learn installato con Anaconda o conda non dovresti usare il pip.


1
Questa risposta è rilevante solo per un pacchetto specifico nel tuo ambiente in un particolare movimento nel tempo ed è improbabile che possa mai avvantaggiare qualcun altro.
AMC

1

Stavo cercando di installare il pacchetto fancyimpute per l'imputazione, ma non c'è stata fortuna. Ma quando ho provato i seguenti comandi, è stato installato: Comandi:

conda update conda
conda update anaconda
pip install fancyimpute 

(qui stavo cercando di dare il comando conda install fancyimpute che non ha funzionato)


Questa risposta è rilevante solo per un pacchetto specifico nel tuo ambiente in un particolare movimento nel tempo ed è improbabile che possa mai avvantaggiare qualcun altro.
AMC

0

Anche io stavo affrontando lo stesso problema, ma l'ho risolto

conda install -c conda-forge pysoundfile

durante l'importazione

import soundfile 

2
Questa risposta è rilevante solo per un pacchetto specifico nel tuo ambiente in un particolare movimento nel tempo ed è improbabile che possa mai avvantaggiare qualcun altro.
AMC

0

Se il tuo ambiente conda di base è attivo ...

  • in tal caso "(base)" molto probabilmente verrà visualizzato all'avvio o al prompt dei comandi del terminale.

... e pip è installato nel tuo ambiente di base ...

  • quale è: $ conda list | grep pip

... quindi installa il pacchetto non trovato semplicemente con $ pip install <packagename>



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.