![](/img/trans.png)
[英]ResolvePackageNotFound error: when creating Conda environment
[英]How to fix `ResolvePackageNotFound` error when creating Conda environment?
当我运行以下命令时: conda env create -f virtual_platform_mac.yml
我收到这个错误
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound:
- pytables==3.4.2=np113py35_0
- h5py==2.7.0=np113py35_0
- anaconda==custom=py35_0
我该如何解决这个问题?
我正在使用 Mac OS X。
为了提高求解性能,Conda v4.7 删除了 Anaconda 云存储库的一个分支,称为免费通道。 不幸的是,这包括许多从未移植到保留的存储库分支的旧包。 此处失败的要求受此影响。
free
频道搜索 Conda 提供了一种通过restore_free_channel
配置选项恢复对存储库这一部分的访问的方法。 您可以通过查看来验证这是否是问题所在
conda search pytables=3.4.2[build=np113py35_0]
失败,而
CONDA_RESTORE_FREE_CHANNEL=1 conda search pytables=3.4.2[build=np113py35_0]
成功找到 package,其他类似。
如果您希望经常需要较旧的软件包,则可以全局设置该选项,然后继续安装:
conda config --set restore_free_channel true
conda env create -f virtual_platform_mac.yml
与所有 Conda 配置选项一样,您还可以使用相应的环境变量来临时恢复仅对命令的访问:
Unix/Linux
CONDA_RESTORE_FREE_CHANNEL=1 conda env create -f virtual_platform_mac.yml
Windows
SET CONDA_RESTORE_FREE_CHANNEL=1
conda env create -f virtual_platform_mac.yaml
(是的,我意识到..._mac.yaml
的认知失调,但 Windows 用户也需要帮助。)
手动包括频道
也可以手动将频道包括为要搜索的频道:
conda search -c free pytables=3.4.2[build=np113py35_0]
请注意,这些方法中的任何一种都只会在此特定搜索中使用免费频道,并且任何未来的搜索或对 env 的更改都不会搜索该频道。
如果您有一个特定的环境,您总是希望可以访问免费频道,但您不想全局设置此选项,您可以改为仅为环境设置配置选项。
conda activate my_env
conda config --env --set restore_free_channel true
可以通过分别设置和取消设置位于etc/conda/activate.d
和etc/conda/deactivate.d
文件夹中的脚本中的CONDA_RESTORE_FREE_CHANNEL
变量来实现类似的效果。 有关示例,请参阅文档。
我会用
CONDA_RESTORE_FREE_CHANNEL=1 conda env create -f
继续使用过时/旧的软件包
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.