PackagesNotFoundError: Os seguintes pacotes não estão disponíveis nos canais atuais:

123

Sou um pouco novo em Python. Eu o usei em vários projetos, mas realmente não precisei me desviar de sua configuração padrão. Estou tentando instalar alguns novos pacotes para obter acesso às funções necessárias para um trabalho universitário. Quando tento instalar, obtenho o seguinte:

(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 um monte de outros canais semelhantes ao acima.

Tenho procurado uma solução, mas não encontrei nada substancial. Eu vi que pode ser um problema com o Windows, que é o que estou usando. Além disso, não tenho ideia do que está acontecendo.

Lembre-se de que não entendo realmente como os canais e pacotes funcionam, portanto, qualquer ideia sobre esse assunto também seria ótima.

Sunafegon
fonte
Nota para quem está lendo isto: Não use o ambiente base para todos os seus projetos, ou mesmo para todos.
AMC

Respostas:

129

Tente adicionar o Conda-forja canal à sua lista de canais com o comando:
conda config --append channels conda-forge. Diz ao conda para também procurar no canal conda-forge quando procura pacotes. Você pode então simplesmente instalar os dois pacotes com conda install slycot control.

Os canais são basicamente servidores para as pessoas hospedarem pacotes e o conda-forge dirigido pela comunidade é geralmente um bom lugar para começar quando os pacotes não estão disponíveis através dos canais padrão. Eu verifiquei e tanto slycot quanto controle parecem estar disponíveis lá.

Max S.
fonte
2
Tentei o que você sugeriu e cheguei a isto: {Ambiente de solução: PackagesNotFoundError falhou: Os seguintes pacotes não estão disponíveis nos canais atuais: - slycot Canais atuais: - repo.continuum.io/pkgs/main/win-64 - repo.continuum .io / pkgs / main / noarch } E mais links com os conda-forge na parte inferior. Eu li em alguns fóruns que slycot só é compatível com Linux e OSX atualmente. Não tenho certeza da validade dessas afirmações, no entanto.
Sunafegon
1
Bem, se o pacote não é compatível com o Windows, você está sem sorte, eu temo. Outra coisa que vem à mente é tentar instalá-lo via pip ( pip install ...). Isso instalará o pacote em seu diretório-conda, mas use o gerenciador de pacotes integrado do Python. Às vezes, os pacotes só estão disponíveis via pip.
Max S.
Tive que adicionar conda config --add channels loopbiopara instalar o gtk2 ( github.com/loopbio/gtk2-feedstock )
ezchx
4
Geralmente é uma boa ideia conda config --appendusar apenas canais. Isso o colocará em uma prioridade mais baixa do que os canais padrão e só aparecerá lá se o pacote não for encontrado em outro lugar. --addcoloca-o no topo da lista de canais, então condainstalarei tantos pacotes do canal personalizado quanto possível ... pela minha experiência, isso pode ficar confuso.
Max S.
Funcionou perfeitamente. Execute a solução @MaxS antes de criar um ambiente e instalar os requisitos:conda create --name <env_name> --file <requirements.txt>
datalifenyc
24

Você tentou:

pip install <package>

ou

conda install -c conda-forge <package>
mpour
fonte
11
Isso não ajuda as pessoas a entender PackagesNotFoundErrors, ou qualquer coisa, por falar nisso. -c conda-forgeNão é um encantamento mágico que vai consertar tudo, e existem diferenças importantes entre usar Conda e pip como o gerenciador de pacotes em um ambiente Conda. Francamente, é desleixado e preguiçoso.
AMC
4

Obrigado, Max S. conda-forge trabalhou para mim também.

scikit-learn no Anaconda-Jupyter Notebook.

Atualizando meu scikit-learn de 0.19.1 para 0.19.2 no anaconda instalado no Ubuntu na instância de VM do Google:

Execute os seguintes comandos no terminal:

Primeiro, verifique os pacotes disponíveis com versões

conda list    

Ele mostrará pacotes e suas versões instaladas na saída:

scikit-learn              0.19.1           py36hedc7406_0  

Atualize para a versão 0.19.2 de julho de 2018.

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

Agora verifique a versão instalada corretamente ou não?

conda list 

O resultado é:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

Nota: Não use o comando pip se você estiver usando Anaconda ou Miniconda

Tentei seguir os comandos:

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

Ele instalará os pacotes necessários e também aparecerá no, conda listmas ao tentar importar aquele pacote, ele não funcionará.

No site http://scikit-learn.org/stable/install.html é mencionado como: Aviso Para atualizar ou desinstalar o scikit-learn instalado com Anaconda ou conda, você não deve usar o pip.

Yogesh
fonte
1
Essa resposta só é relevante para um pacote específico em seu ambiente em um movimento específico no tempo e é improvável que venha a beneficiar ninguém.
AMC
1

Eu estava tentando instalar o pacote fancyimpute para imputação, mas não tive sorte. Mas quando tentei os comandos abaixo, ele foi instalado: Comandos:

conda update conda
conda update anaconda
pip install fancyimpute 

(aqui eu estava tentando dar o comando conda install fancyimpute que não funcionou)

ajay krishna saxena
fonte
Essa resposta só é relevante para um pacote específico em seu ambiente em um movimento específico no tempo e é improvável que venha a beneficiar ninguém.
AMC
0

Até eu estava enfrentando o mesmo problema, mas resolvi

conda install -c conda-forge pysoundfile

durante a importação

import soundfile 
yunus
fonte
2
Essa resposta só é relevante para um pacote específico em seu ambiente em um movimento específico no tempo e é improvável que venha a beneficiar ninguém.
AMC
0

Se o seu ambiente de base conda estiver ativo ...

  • nesse caso, "(base)" provavelmente será exibido no início ou no prompt de comando do terminal.

... e o pip está instalado em seu ambiente de base ...

  • qual é: $ conda list | grep pip

... então instale o pacote não encontrado simplesmente $ pip install <packagename>

markling
fonte