关于在jupyter notebook中解决 ipykernel_launcher.py: error

刚使用jupyter notebook的时候,把之前写的py脚本导了进去,一运行,发现了报了以下的错误:

usage: ipykernel_launcher.py [-h] [--cfg CFG] [--device DEVICE] 
ipykernel_launcher.py: error: unrecognized arguments: -f /project/.local/share/jupyter/runtime/kernel-e24ff4da-c615-4d49-8e70-87a7bec2f9e7.json  An exception has occurred, use %tb to see the full traceback

网上搜索一下,发现是代码使用了argparse模块导致出现这个错误的。一个普通代码定义模式如下:

parser = argparse.ArgumentParser()
parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
args = parser.parse_args()
print(args)

这样定义就会出现上述的错误。

解决方法

方法一

使用参数dict的方式替换argparse模块,即注释或者删除掉这些行

# parser = argparse.ArgumentParser()
# parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
# args = parser.parse_args()
# print(args)

# 使用dict方式
args={
    
    "device": "0"}

方法二

使用方法一要修改代码,实在太麻烦了,有没有更简单的方式啊,有,就是使用下面的语句进行替换:

parser = argparse.ArgumentParser()
parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
# args = parser.parse_args()
args =parser.parse_known_args()[0]
print(args)

Guess you like

Origin blog.csdn.net/weixin_41693877/article/details/109549914