You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级PowerShell 7.5.0后Invoke-Conda无法捕获参数的解决办法

PowerShell 7.5.0 与 Conda 兼容性问题修复

问题现象

升级PowerShell到7.5.0后,Conda命令无法正常识别参数,执行conda --version会触发如下错误:

base 3.12.8  ➜ conda --version
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.4.5后,conda activate等命令恢复正常:

base 3.12.8 ➜ pwsh --version
PowerShell 7.4.5
base 3.12.8  ➜ conda activate mvd-3d
mvd-3d 3.10.11 ➜ 

问题原因

PowerShell 7.5.0对函数参数处理逻辑做了调整,导致Conda模块中的Invoke-Conda函数误将以-开头的选项参数(如--version)当作子命令处理,进而触发参数无效的错误。

修改方案

打开%USERPROFILE%\miniconda3\shell\condabin\Conda.psm1文件,找到Invoke-Conda函数,替换为以下代码:

function Invoke-Conda() {
    # 检测是否存在以'-'开头的选项参数,这类参数直接传递给原生conda.exe
    $hasFlagArgs = $Args | Where-Object { $_ -match '^-' } | Select-Object -First 1
    if ($hasFlagArgs -or $Args.Count -eq 0) {
        # 无参数或含选项参数时,直接调用conda原生程序
        & $Env:CONDA_EXE $Env:_CE_M $Env:_CE_CONDA @Args
    }
    else {
        $Command = $Args[0];
        $OtherArgs = if ($Args.Count -ge 2) { $Args[1..($Args.Count - 1)] } else { @() }
        switch ($Command) {
            "activate" {
                Enter-CondaEnvironment @OtherArgs;
            }
            "deactivate" {
                Exit-CondaEnvironment;
            }
            default {
                # 其他子命令直接传递给原生conda程序
                & $Env:CONDA_EXE $Env:_CE_M $Env:_CE_CONDA $Command @OtherArgs;
            }
        }
    }
}

修改说明

  • 新增参数判断逻辑:识别以-开头的选项参数,直接绕过子命令判断,传递给原生Conda程序
  • 保留原有的activate/deactivate子命令处理逻辑,确保环境激活功能正常运作

验证步骤

修改后重启PowerShell,执行以下命令验证修复效果:

  • conda --version:正常输出Conda版本号
  • conda activate <你的环境名>:正常激活目标环境
  • conda list:正常列出当前环境的包列表

内容的提问来源于stack exchange,提问作者SaturnTsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 18:14:58