PackagesNotFoundError : 다음 패키지는 현재 채널에서 사용할 수 없습니다.


123

저는 Python을 처음 접했습니다. 여러 프로젝트에서 사용했지만 표준 설정에서 벗어날 필요가 없었습니다. 대학 과제에 필요한 기능에 액세스하기 위해 새 패키지를 설치하려고합니다. 설치하려고하면 다음과 같은 메시지가 나타납니다.

(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

...

그리고 위와 유사한 다른 채널이 많이 있습니다.

나는 해결책을 찾고 있었지만 실질적인 것을 찾지 못했습니다. 나는 그것이 내가 그것을 사용하고있는 Windows에서 문제가 될 수 있다는 것을 보았다. 과거에 무슨 일이 벌어지고 있는지에 대한 단서가 없습니다.

채널과 패키지가 어떻게 작동하는지 잘 이해하지 못하기 때문에 그 문제에 대한 통찰력도 좋을 것입니다.


이 글을 읽는 모든 사람을위한 참고 사항 : 모든 프로젝트에 기본 환경을 사용하지 마십시오.
AMC

답변:


129

다음 명령을 사용하여 conda-forge 채널을 채널 목록에 추가해보십시오
conda config --append channels conda-forge.. 패키지를 검색 할 때 conda 에게 conda-forge 채널 도 검색하도록 지시 합니다. 그런 다음 conda install slycot control.

채널은 기본적으로 사람들이 패키지를 호스팅 할 수있는 서버이며 커뮤니티 기반 conda-forge 는 일반적으로 표준 채널을 통해 패키지를 사용할 수 없을 때 시작하기에 좋은 곳입니다. 나는 확인했고 slycotcontrol 모두 거기에서 사용할 수있는 것 같습니다.


2
{해결 환경 : 실패 PackagesNotFoundError : 나는 당신이 제안이에 도착 무엇을하려고 다음 패키지가 현재 채널에서 사용할 수 없습니다 : - slycot 현재 채널 - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } 그리고 하단의 conda-forge 링크와 더 많은 링크가 있습니다. 나는 slycot이 현재 리눅스와 OSX에서만 지원된다는 포럼을 읽었습니다. 그러나 이러한 주장의 유효성은 확실하지 않습니다.
Sunafegon

1
음, 패키지가 Windows에서 지원되지 않으면 운이 좋지 않을 것입니다. 떠오르는 다른 것은 pip ( pip install ...) 를 통해 설치하는 것뿐입니다 . 그러면 conda 디렉토리에 패키지가 설치되지만 대신 Python의 내장 패키지 관리자를 사용합니다. 때때로 패키지는 pip를 통해서만 사용할 수 있습니다.
Max S.

conda config --add channels loopbiogtk2 ( github.com/loopbio/gtk2-feedstock ) 를 설치 하기 위해 추가해야했습니다
ezchx

4
일반적으로 conda config --append채널 만 사용하는 것이 좋습니다 . 이렇게하면 표준 채널보다 우선 순위가 낮아지고 패키지가 다른 곳에서 찾을 수없는 경우에만 찾습니다. --add채널 목록 상단에 배치하므로 conda사용자 지정 채널에서 가능한 한 많은 패키지를 설치합니다. 내 경험상, 이것은 지저분해질 수 있습니다.
Max S.

완벽하게 작동했습니다. 환경을 만들고 요구 사항을 설치하기 전에 @MaxS 솔루션을 실행하십시오.conda create --name <env_name> --file <requirements.txt>
datalifenyc

24

시도해 보셨습니까?

pip install <package>

또는

conda install -c conda-forge <package>

11
이것은 사람들이 PackagesNotFoundError그 문제를 이해하는 데 도움이되지 않습니다 . -c conda-forge모든 것을 고칠 마법 주문이 아니며 Conda 환경에서 패키지 관리자로 Conda와 pip를 사용하는 것 사이에는 중요한 차이점이 있습니다. 솔직히 말해서 조잡하고 게으르다.
AMC

4

감사합니다. Max S. conda-forge도 저를 위해 일했습니다.

Anaconda-Jupyter Notebook에서 scikit-learn.

Google VM 인스턴스의 Ubuntu에 설치된 anaconda에서 내 scikit-learn을 0.19.1에서 0.19.2로 업그레이드 :

터미널에서 다음 명령을 실행하십시오.

먼저 버전이있는 패키지를 확인하십시오.

conda list    

출력에 패키지와 설치된 버전이 표시됩니다.

scikit-learn              0.19.1           py36hedc7406_0  

0.19.2 2018 년 7 월 릴리스로 업그레이드합니다.

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

이제 올바르게 설치된 버전을 확인 하시겠습니까?

conda list 

출력은 다음과 같습니다.

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

참고 : Anaconda 또는 Miniconda를 사용하는 경우 pip 명령을 사용하지 마십시오.

다음 명령을 시도했습니다.

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

필요한 패키지를 설치하면에 표시 conda list되지만 해당 패키지를 가져 오려고하면 작동하지 않습니다.

웹 사이트 http://scikit-learn.org/stable/install.html에서 다음과 같이 언급됩니다. 경고 Anaconda 또는 conda와 함께 설치된 scikit-learn을 업그레이드하거나 제거하려면 pip를 사용하지 않아야합니다.


1
이 답변은 특정 시간의 특정 움직임에있는 환경의 특정 패키지에만 해당되며 다른 누구에게도 도움이되지 않을 것입니다.
AMC

1

전가를 위해 fancyimpute 패키지를 설치하려고했지만 운이 없었습니다. 그러나 아래 명령을 시도했을 때 설치되었습니다. 명령 :

conda update conda
conda update anaconda
pip install fancyimpute 

(여기서 나는 작동하지 않는 conda install fancyimpute 명령을 내리려고했습니다)


이 답변은 특정 시간의 특정 움직임에있는 환경의 특정 패키지에만 관련되며 다른 사람에게 도움이되지 않을 것입니다.
AMC

0

나도 같은 문제에 직면했지만

conda install -c conda-forge pysoundfile

가져 오는 동안

import soundfile 

2
이 답변은 특정 시간의 특정 움직임에있는 환경의 특정 패키지에만 해당되며 다른 누구에게도 도움이되지 않을 것입니다.
AMC

0

기본 conda 환경이 활성화 된 경우 ...

  • 이 경우 "(base)"는 대부분 시작 또는 터미널 명령 프롬프트에 표시됩니다.

... 그리고 pip는 기본 환경에 설치됩니다 ...

  • 그것은 : $ conda list | grep pip

... 찾을 수없는 패키지를 간단히 설치하십시오. $ pip install <packagename>



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.