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

Google Colab同单元内%%shell转%%python出现CalledProcessError的解决方法

解决Google Colab同一单元格混合%%shell与%%python的报错问题
  • 问题本质:Colab的%%shell是单元格级魔法命令,一旦用它开头,整个单元格内容都会被当作Shell代码执行,后面的%%python会被识别成无效Shell命令,触发CalledProcessError。

  • 方案1:拆分到不同单元格(最推荐)
    把Shell代码和Python代码分别放在两个独立单元格:

    • 第一个单元格执行%%shell代码
    • 第二个单元格执行Python代码
  • 方案2:用subprocess模块在Python中调用Shell(同一单元格实现)
    放弃%%shell,用Python的subprocess执行Shell命令,整个单元格保持Python环境:

    import subprocess
    
    # 执行Shell命令并处理结果
    try:
        # 示例Shell命令,可替换为你的需求
        output = subprocess.check_output(["ls", "-l"], text=True)
        print("Shell输出:\n", output)
    except subprocess.CalledProcessError as err:
        print("Shell命令执行失败:", err.stderr)
    
    # 直接写Python代码,无冲突
    print("这是Python代码输出")
    
  • 方案3:用!前缀执行单条Shell命令
    简单Shell命令用!前缀,可直接和Python代码共存:

    # 执行单条Shell命令
    !pwd
    
    # Python代码正常执行
    import os
    print("当前Python工作目录:", os.getcwd())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 23:15:05