在anaconda中解决“找不到软件包”错误

7
我在Windows上安装了Anaconda,然后我想添加这段代码。
conda env create -f robotreviewer_env_local.yml

但是我收到了这个错误

解决包未找到
- spacy=0.101.0
- ptyprocess=0.5.1

我该如何解决这个问题?


2
我建议您从.yml文件中删除这些软件包,然后激活环境。一旦激活,请尝试 conda install spacy=0.101.0 ptyprocess=0.5.1 或者如果conda无法安装,则尝试 pip install spacy=0.101.0 ptyprocess=0.5.1 - jalazbe
1个回答

2

常规策略

搜索通道

尝试在Anaconda Cloud中搜索无法解析的特定软件包。有时它们可能来自于默认 (anaconda) 以外的其他通道。在搜索中加入你的平台 (例如platform:win-64),以加快缩小搜索范围的速度。如果找到了一个含有它的通道,则可以将其添加到YAML定义的channels部分。1

检查PyPI

如果无法找到需要的版本的Conda通道,请前往PyPI进行搜索。如果找到了,将它们移动到YAML的pip部分。

删除要求

如果你知道从哪里找到源代码包,则可以将其从YAML中删除,并在已激活的环境中本地安装。

放宽版本要求

如果没有非常严格的可重复性要求,您可以始终删除版本号(次要或主要),以获取可以从Conda或PyPI安装的版本。


1 当然,如果您不熟悉通道源,则在使用之前,请验证它是否是一些恶意代码。例如,下载tar.bz并进行扫描。我没有听说过任何此类攻击,但这似乎是一个明显的入口。


特定软件包解决方案

Spacy

搜索Anaconda repo后发现,无论是anaconda (defaults)还是conda-forge通道都不提供win64平台的该版本Spacy。但是,有一个专门的spacy通道,这可能是最初获取它的地方。因此,在YAML的channels部分中,你可以添加

channels:
  - spacy

ptyprocess

这个包在Anaconda Cloud中找不到,但是可以在PyPI上找到,所以你应该将它移动到YAML文件的pip部分:

最初的回答:

这个包无法在Anaconda Cloud中找到,但是可以在PyPI上找到。因此,您应该将其移到YAML文件的pip部分。

pip:
  - ptyprocess=0.5.1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接