Conda在PowerShell 7.5版本中失效问题解决方案

自从上周升级了PowerShell到7.5之后,便发现conda命令失效了,输入任何conda命令都出现报错

bash

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)

于是我便在网上搜寻了一番,很快,我发现conda官方Github上也有人反映了这个问题,并且在最新版本的conda中,这个问题已经被修复,只要升级到最新版本的conda就行了。

具体如下(参考链接:Invoke-Conda cannot catch any arguments after powershell 7.5.0 update

Conda 25.1.1 官方修复 - 不再需要临时解决方案

Conda 25.1.1 已经官方修复了由于 .NET 9 环境变量更改导致的 PowerShell 7.5+ 破坏 Conda 的问题。

  • 之前的问题:PowerShell 7.5+ 改变了对空环境变量(_CE_M​、_CE_CONDA​)的处理方式,导致 Invoke-Conda​ 失效。
  • 修复:Conda 25.1.1 现在可以在内部正确取消设置这些变量,无需手动修复。

如果你仍然遇到这个问题,请使用以下命令更新 Conda 至 25.1.1+

powershell

conda activate base
conda install -n base -c defaults conda=25.1.1

如果你之前修改了 $PROFILE​ 来手动设置 $Env:_CE_M = $null​,请删除它

  1. 打开你的 PowerShell 配置文件:

    powershell

    notepad $PROFILE
  2. 删除或注释掉任何修改 _CE_M​ 和 _CE_CONDA​ 的代码块。

  3. 重启 PowerShell 并验证 Conda 无需临时解决方案即可正常工作:

    powershell

    conda --version
    conda activate my_env

如果 conda --version​ 显示 25.1.1+ ,且 conda activate​ 可以正常工作,则问题已完全解决