PackagesNotFoundError: Następujące pakiety nie są dostępne z bieżących kanałów:


123

Jestem trochę nowy w Pythonie. Używałem go w wielu projektach, ale tak naprawdę nie musiałem odchodzić od standardowej konfiguracji. Próbuję zainstalować kilka nowych pakietów, aby uzyskać dostęp do funkcji niezbędnych do pracy na uczelni. Kiedy próbuję zainstalować, otrzymuję następujące informacje:

(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

...

I kilka innych kanałów podobnych do tego powyżej.

Szukałem rozwiązania, ale nie znalazłem nic konkretnego. Widziałem, że może to być problem z systemem Windows, na którym go używam. Wcześniej nie mam pojęcia, co się dzieje.

Pamiętaj, że tak naprawdę nie rozumiem, jak działają kanały i pakiety, więc każdy wgląd w tę sprawę też byłby świetny.


Uwaga dla wszystkich, którzy to czytają: nie używaj środowiska podstawowego do wszystkich swoich projektów lub wcale.
AMC

Odpowiedzi:


129

Spróbuj dodać Conda-kuźni kanał do listy kanałów z tym poleceniem:
conda config --append channels conda-forge. Mówi Conda, aby podczas wyszukiwania pakietów szukał również kanału Conda-Forge . Następnie możesz po prostu zainstalować dwa pakiety za pomocą conda install slycot control.

Kanały są w zasadzie serwerami, na których ludzie mogą hostować pakiety, a społeczność Conda-Forge jest zwykle dobrym miejscem do rozpoczęcia, gdy pakiety nie są dostępne za pośrednictwem standardowych kanałów. Sprawdziłem i wydaje się, że są tam dostępne slycot i control .


2
Wypróbowałem to, co zasugerowałeś i doszedłem do tego: {Solving environment: failed PackagesNotFoundError: Następujące pakiety nie są dostępne z obecnych kanałów: - slycot Bieżące kanały: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } I więcej linków z tymi z conda-forge na dole. Czytałem na niektórych forach, że slycot jest obecnie obsługiwany tylko dla Linuksa i OSX. Nie mam jednak pewności co do ważności tych roszczeń.
Sunafegon

1
Cóż, jeśli pakiet nie jest obsługiwany przez system Windows, obawiam się, że nie masz szczęścia. Jedyną inną rzeczą, która przychodzi na myśl, jest próba zainstalowania go za pomocą pip ( pip install ...). Spowoduje to zainstalowanie pakietu w twoim katalogu conda, ale zamiast tego użyje wbudowanego menedżera pakietów Pythona. Czasami pakiety są dostępne tylko za pośrednictwem pip.
Max S.

Musiałem dodać, conda config --add channels loopbioaby zainstalować gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx

4
Generalnie dobrym pomysłem jest tylko conda config --appendkanały. Spowoduje to, że będzie miał niższy priorytet niż standardowe kanały i będzie tam szukać tylko wtedy, gdy pakiet nie zostanie znaleziony gdzie indziej. --addumieszcza go na górze listy kanałów, więc condazainstaluję jak najwięcej pakietów z kanału niestandardowego ... z mojego doświadczenia może się to komplikować.
Max S.

Działał doskonale. Uruchom rozwiązanie @MaxS przed utworzeniem środowiska i zainstalowaniem wymagań:conda create --name <env_name> --file <requirements.txt>
datalifenyc

24

Czy próbowałeś:

pip install <package>

lub

conda install -c conda-forge <package>

11
To nie pomaga ludziom zrozumieć PackagesNotFoundErrors, ani nic w ogóle, jeśli o to chodzi. -c conda-forgeTo nie jest jakieś magiczne zaklęcie, które naprawi wszystko, i istnieją ważne różnice między używaniem Conda i pip jako menedżera pakietów w środowisku Conda. Szczerze mówiąc, jest niechlujny i leniwy.
AMC

4

Dzięki, Max S. conda-forge też dla mnie pracował.

scikit-learn na Notatniku Anaconda-Jupyter.

Uaktualniam scikit-learn z wersji 0.19.1 do 0.19.2 w anaconda zainstalowanej na Ubuntu na wystąpieniu maszyny wirtualnej Google:

Uruchom następujące polecenia w terminalu:

Najpierw sprawdź dostępne pakiety z wersjami

conda list    

Wyświetli pakiety i ich zainstalowane wersje na wyjściu:

scikit-learn              0.19.1           py36hedc7406_0  

Uaktualnij do wersji 0.19.2 z lipca 2018 r.

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

Teraz sprawdź wersję zainstalowaną poprawnie, czy nie?

conda list 

Wynik to:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Uwaga: nie używaj polecenia pip, jeśli używasz programu Anaconda lub Miniconda

Próbowałem następujących poleceń:

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

Zainstaluje wymagane pakiety, które również pojawią się w, conda listale przy próbie zaimportowania tego pakietu nie będą działać.

Na stronie http://scikit-learn.org/stable/install.html jest napisane jako: Ostrzeżenie Aby zaktualizować lub odinstalować scikit-learn zainstalowany z Anacondą lub condą, nie powinieneś używać pip.


1
Ta odpowiedź ma znaczenie tylko dla konkretnego pakietu w twoim środowisku w określonym ruchu w czasie i jest mało prawdopodobne, aby kiedykolwiek przyniosła korzyści komukolwiek innemu.
AMC

1

Próbowałem zainstalować pakiet fancyimpute do przypisania, ale nie miałem szczęścia. Ale kiedy wypróbowałem poniższe polecenia, zostało zainstalowane: Polecenia:

conda update conda
conda update anaconda
pip install fancyimpute 

(tutaj próbowałem wydać polecenie conda install fancyimpute, które nie zadziałało)


Ta odpowiedź ma znaczenie tylko dla konkretnego pakietu w twoim środowisku w określonym ruchu w czasie i jest mało prawdopodobne, aby kiedykolwiek przyniosła korzyści komukolwiek innemu.
AMC

0

Nawet ja miałem ten sam problem, ale rozwiązałem go przez

conda install -c conda-forge pysoundfile

podczas importowania

import soundfile 

2
Ta odpowiedź ma znaczenie tylko dla konkretnego pakietu w twoim środowisku w określonym ruchu w czasie i jest mało prawdopodobne, aby kiedykolwiek przyniosła korzyści komukolwiek innemu.
AMC

0

Jeśli Twoje podstawowe środowisko Conda jest aktywne ...

  • w takim przypadku „(podstawa)” będzie najprawdopodobniej pokazywana na początku lub w wierszu poleceń terminala.

... a pip jest zainstalowany w twoim środowisku podstawowym ...

  • który to jest: $ conda list | grep pip

... następnie zainstaluj nieznaleziony pakiet po prostu przez $ pip install <packagename>



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.