【问题标题】:ipykernel_launcher.py: error: the following arguments are required: -m/--modeipykernel_launcher.py:错误:需要以下参数:-m/--mode
【发布时间】:2021-01-12 06:39:06
【问题描述】:

我的代码很长,运行时不断收到此错误。有谁知道这个错误是关于什么的?

`用法:ipykernel_launcher.py [-h] -m MODE

ipykernel_launcher.py: error: the following arguments are required: -m/--mode

An exception has occurred, use %tb to see the full traceback.
 
SystemExit: 2`

【问题讨论】:

  • 看起来您正在启动一个具有 argparse 命令行解析器的 jupyter-notebook。那是行不通的。您在启动 jupyter 时提供的命令行值仅适用于服务器。如果按照usage 的建议给出命令行参数,此代码可能会作为常规 python 脚本工作。
  • @hpaulj 我在使用 ipython 时遇到同样的错误。

标签: python argparse


【解决方案1】:

来自ipython 帮助:

ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...

所以我们可以调用一个回显sys.argv的脚本:

0812:~/mypy$ ipython echo.py -- foo bar
['/home/paul/mypy/echo.py', 'foo', 'bar']

或留在交互式会话中:

0812:~/mypy$ ipython echo.py -- foo bar
['/home/paul/mypy/echo.py', 'foo', 'bar']
0824:~/mypy$ ipython -i echo.py -- foo bar
Python 3.6.9 (default, Jul 17 2020, 12:50:27) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.
['/home/paul/mypy/echo.py', 'foo', 'bar']

In [1]: sys.argv
Out[1]: ['/usr/local/bin/ipython', '-i', 'echo.py', '--', 'foo', 'bar']

sys.argv 包含您的argparse 解析器将处理的命令行字符串。只需提供它期望的值(在usage 中指定)。

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 2019-03-10
    • 2019-05-26
    • 2018-12-12
    • 1970-01-01
    • 2023-02-09
    • 2021-07-12
    • 2019-01-11
    相关资源
    最近更新 更多