使用Conda时,我倾向于安装许多来自许多不同来源的软件包。事实证明,周围存在着极大的不兼容性。我想删除所有不是来自默认或conda-forge渠道的软件包。我该怎么做?
我意识到一种可能的解决方案是进行完全重新安装,但最好选择替代方法。
如果您仍然想安装这些软件包,并且至少尝试从受信任的渠道安装它们,一种解决方案是导出环境,删除您不需要的渠道,然后尝试仅使用您所做的渠道重新创建想。
要导出有问题的环境,
conda env export -n your_env --file env.yaml
Run Code Online (Sandbox Code Playgroud)
如果您想从一开始就排除所有频道信息,您可以包含该--ignore-channels标志。但是,由于听起来您只想排除特定通道,因此只需编辑env.yaml文件即可从YAML 的通道部分中删除这些特定通道。
您可能还需要包含一个--no-builds标志,以便跨具有不同构建配置的渠道识别包。
获得满意的环境 YAML 后,您可以使用以下命令重新创建环境:
conda env create -f env.yaml
Run Code Online (Sandbox Code Playgroud)
如果您希望强制安装超越前一个安装,您可以使用该--force标志。或者,采取更保守的路线并为环境提供一个新名称(例如,-n your_env2)。
如果某些软件包在您信任的特定渠道中不可用,您可能需要从 YAML 文件中删除它们。首先可能值得放弃这些软件包的一些版本要求,只是为了看看其他软件包是否可用。
| 归档时间: |
|
| 查看次数: |
798 次 |
| 最近记录: |