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

Answers:


129

尝试添加畅达锻槽来与此命令的频道列表:
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链接的链接。我在一些论坛上读到,目前仅linux和OSX支持slycot。但是,不确定这些声明的有效性。
Sunafegon '18

1
好吧,如果Windows不支持该软件包,我担心您会很不幸。想到的其他事情就是尝试通过pip(pip install ...)安装它。这会将软件包安装在conda目录中,但改用Python的内置软件包管理器。有时软件包只能通过pip获得。
Max S.

我必须添加conda config --add channels loopbio安装gtk2(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
就此而言,这无助于人们理解PackagesNotFoundErrors或任何东西。-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  

升级到2018年7月0.19.2版。

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>



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.