安装torch报错:
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
Collecting package metadata (current_repodata.json): - WARNING conda.models.version:get_matcher(537): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.7.1.*, but conda is ignoring the .* and treating it as 1.7.1
解决办法;
# 谁能想到就是这一句话 删除全部源 恢复Conda的默认频道设置
conda config --remove-key channels
安装成功!
(sw) root $ conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done==> WARNING: A newer version of conda exists. <==current version: 4.9.2latest version: 24.9.1Please update conda by running$ conda update -n base -c defaults conda
...
参考解决:Collecting package metadata (current_repodata.json)/ Solving environment
附件:
关于conda config --remove-key channels
命令,实际上,这个命令并不是直接用来移除特定的Conda频道的标准方法。通常,conda config --remove-key
命令用于移除配置文件中的某个特定的键值对配置,但channels
在Conda配置中是以列表形式存在的,因此使用--remove-key channels
可能不会达到预期的效果。
对于Conda频道的管理,应该使用--add channels
和--remove channels
选项。以下是关于这些选项的详细解释:
添加频道
当你想要添加一个新的Conda频道时,可以使用--add channels
选项。这个选项允许你指定一个或多个频道,Conda将在这些频道中搜索你请求安装的包。例如:
conda config --add channels conda-forge
这条命令会将conda-forge
频道添加到你的Conda配置中。如果你想要添加多个频道,可以多次运行这个命令,或者使用逗号分隔的频道列表(但请注意,并不是所有版本的Conda都支持一次性添加多个频道)。
移除频道
当你想要从Conda配置中移除一个频道时,应该使用--remove channels
选项。这个选项允许你指定要移除的频道名称。例如:
conda config --remove channels conda-forge
这条命令会从你的Conda配置中移除conda-forge
频道。
注意事项
- 在使用
--add channels
和--remove channels
选项时,请确保频道名称正确无误。 - 如果你在移除频道后遇到了问题(比如Conda无法找到某个包),可能需要检查是否还有其他可用的频道包含了该包,或者考虑添加回之前移除的频道。
- 直接编辑
.condarc
配置文件也是可行的,但请务必小心操作,确保格式正确,并且保存文件后重新加载配置(通常不需要手动操作,因为Conda会自动读取最新的配置文件)。
恢复默认设置
如果你想要恢复Conda的默认频道设置(即只包含Anaconda的默认频道),你可以使用以下命令移除所有自定义频道:
conda config --remove-key channels
但是,请注意,这个命令实际上会移除整个channels
配置项,而不是只移除特定的频道。如果.condarc
文件中没有其他配置,这将导致Conda只使用其默认的官方源。然而,在某些情况下,这个命令可能不会按预期工作,特别是如果.condarc
文件中还有其他与channels
相关的配置时。在这种情况下,你可能需要手动编辑.condarc
文件,只保留默认的频道设置。
总之,对于Conda频道的管理,建议使用--add channels
和--remove channels
选项,而不是尝试使用--remove-key channels
命令。这样可以避免不必要的混淆和潜在的问题。