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

Jupyter Notebook中运行argparse代码报错SystemExit:2求解决

解决Jupyter Notebook中argparse代码运行报错SystemExit:2的问题

报错原因:在Jupyter环境中,argparse.ArgumentParser().parse_args()默认读取系统命令行参数,但Notebook启动时并未传入代码中定义的-i/-p/-m等必填参数,argparse检测到必填参数缺失后直接抛出SystemExit终止程序,导致报错。

以下是几种可行的解决方法:

方法1:手动传入参数列表给parse_args()

直接在parse_args()中传入自定义的参数列表,替换成你的实际文件路径即可:

import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="path to input image")
ap.add_argument("-p", "--prototxt", required=True, help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=True, help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.2, help="minimum probability to filter weak detections")

# 手动传入参数,替换为你的实际路径
args = vars(ap.parse_args([
    "-i", "/your/actual/image/path.jpg",
    "-p", "/your/actual/prototxt/path.prototxt",
    "-m", "/your/actual/model/path.caffemodel"
    # 若使用confidence默认值,可省略"-c"参数
]))

方法2:修改参数为非必填并设置默认值

如果不想每次手动传参,可以将required=True改为False,同时给参数设置默认路径:

import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=False, default="/default/image/path.jpg", help="path to input image")
ap.add_argument("-p", "--prototxt", required=False, default="/default/prototxt/path.prototxt", help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=False, default="/default/model/path.caffemodel", help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.2, help="minimum probability to filter weak detections")

args = vars(ap.parse_args())

方法3:使用%run魔法命令传参

将代码保存为独立的.py文件(比如detect.py),然后在Jupyter单元格中用%run命令传入参数:

%run detect.py -i /your/image/path.jpg -p /your/prototxt/path.prototxt -m /your/model/path.caffemodel

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:05:17