问题引入
这个问题发生得非常突然。
当我在把电脑中的Powershell(而非Windows10+中自带的Windows Powershell)更新到v7.5版本后,conda的执行就出现了问题。比如,当你想看你的conda设置时会输入:
conda config --show
然后控制台就会回显错误提示信息,告诉你该选项现在不可用:
usage: conda-script.py [-h] [-v] [--no-plugins] [-V] COMMAND ...
conda-script.py: error: argument COMMAND: invalid choice: '' (choose from activate, clean, commands, compare, config, create, deactivate, env, export, info, init, install, list, notices, package, content-trust, doctor, repoquery, remove, uninstall, rename, run, search, update, upgrade)
总而言之就是告诉你它是“假”指令。
问题解决
根源搜索
我经过一番搜索,在这里找到了问题所在。
发生了什么?
- 之前的问题:PowerShell 7.5+ 改变了对空环境变量(
_CE_M
、_CE_CONDA
)的处理方式,导致Invoke-Conda
失效。 - 修复:Conda 25.1.1 现在可以在内部正确取消设置这些变量,无需手动修复。
也就是说Anaconda官方给出了解决方案——Conda 25.1.1 已经官方修复了由于 .NET 9环境变量更改导致的PowerShell 7.5 破坏 Conda的问题。
解决方案
所以说,解决这个问题的最佳方案是:更新conda到25.1.1版本。
在Windows下,更新方法如下:
- 打开Anaconda Prompt:
- 在弹出的终端中输入:
conda activate base
conda install -n base -c defaults conda=25.1.1
- 确认安装完成以后打开pwsh(Powershell)的一个终端,输入
conda --version
显示结果为
conda 25.1.1
及以上版本即可。如下图。
至此,问题就解决了。