【问题标题】:PackagesNotFoundError: The following packages are not available from current channels:PackagesNotFoundError:当前频道不提供以下软件包:
【发布时间】:2018-07-07 16:34:43
【问题描述】:

我对 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 的问题,这就是我正在使用它的原因。过去我不知道发生了什么。

请记住,我并不真正了解渠道和套餐的工作原理,因此任何关于这件事的见解都会很棒。

【问题讨论】:

  • 阅读本文的任何人请注意:不要将基础环境用于所有项目,或者根本不使用。

标签: installation conda channel python-control


【解决方案1】:

Conda 本身提供了有关安装非 conda 软件包的非常详细的指南。详情可以在这里找到:https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html

基本思想是使用 conda-forge。 如果不行,激活环境,使用pip。

【讨论】:

    【解决方案2】:

    可能是您的 condas 频道需要唤醒呼叫...与

    conda update --all
    

    对我来说它有效。更多信息:https://www.anaconda.com/keeping-anaconda-date/

    【讨论】:

      【解决方案3】:

      尝试使用以下命令将 conda-forge 频道添加到您的频道列表中:
      conda config --append channels conda-forge。它告诉 conda 在您搜索包时也要查看 conda-forge 频道。然后,您可以简单地使用conda install slycot control 安装这两个包。

      频道基本上是供人们托管软件包的服务器,当软件包无法通过标准频道获得时,社区驱动的 conda-forge 通常是一个不错的起点。我检查了一下,slycotcontrol 似乎都在那里可用。

      【讨论】:

      • 我尝试了你的建议并得到了这个:{解决环境:失败的PackagesNotFoundError:当前频道不提供以下软件包:-slycot当前频道:-repo.continuum.io/pkgs/main/win-64-repo.continuum.io/pkgs/main/noarch}和底部有更多与 conda-forge 的链接。我在一些论坛上读到 slycot 目前仅支持 linux 和 OSX。但是不确定这些说法的有效性。
      • 好吧,如果 Windows 不支持该软件包,我担心你不走运。唯一想到的另一件事是尝试通过 pip (pip install ...) 安装它。这会将包安装在您的 conda 目录中,但使用 Python 的内置包管理器。有时包只能通过 pip 获得。
      • 我必须添加 conda config --add channels loopbio 才能安装 gtk2 (github.com/loopbio/gtk2-feedstock)
      • 只使用conda config --append 频道通常是个好主意。这将使它的优先级低于标准通道,并且仅当在其他地方找不到包时才在此处查找。 --add 将其放在频道列表的顶部,因此 conda 将安装尽可能多的来自自定义频道的软件包...根据我的经验,这可能会变得混乱。
      • 完美运行。在创建环境和安装需求之前运行@MaxS 解决方案:conda create --name <env_name> --file <requirements.txt>
      【解决方案4】:

      如果您的基础 conda 环境处于活动状态...

      • 在这种情况下,“(base)”很可能会显示在开始或终端命令提示符处。

      ...并且 pip 已安装在您的基础环境中...

      • 它是:$ conda list | grep pip

      ...然后通过$ pip install <packagename>安装未找到的包

      【讨论】:

        【解决方案5】:

        我试图安装fancyimpute 包进行插补,但没有运气。 但是当我尝试以下命令时,它已安装: 命令:

        conda update conda
        conda update anaconda
        pip install fancyimpute 
        

        (这里我试图给命令 conda install fancyimpute 没有工作)

        【讨论】:

        • 这个答案只与您环境中特定时间点的特定包相关,不太可能使其他任何人受益。
        【解决方案6】:

        谢谢,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。

        【讨论】:

          【解决方案7】:

          即使我也面临同样的问题,但解决了它

          conda install -c conda-forge pysoundfile
          

          在导入时

          import soundfile 
          

          【讨论】:

          • 此答案仅与您环境中特定时间的特定包相关,并且不太可能使其他任何人受益。
          【解决方案8】:

          你试过了吗:

          pip install <package>
          

          conda install -c conda-forge <package>
          

          【讨论】:

          • 命令:conda install -c conda-forge &lt;package&gt; 对我来说比:conda config --append channels conda-forge 效果好得多,这会导致 conda 进入无休止的 “求解环境” 循环。
          猜你喜欢
          • 2018-07-27
          • 1970-01-01
          • 2021-12-10
          • 2020-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-20
          • 2020-10-13
          相关资源
          最近更新 更多