我使用的是谷歌oauth2client,示例中的代码是:
flags = argparser.parse_args()
credentials = run_flow(flow, storage, flags)所有这些都可以在Python、交互式或IDE中运行,但是如果我尝试使用Jupiter Notebook中的代码,就会得到一个异常。
在Jupiter Noteboo中,我正在尝试简单:
from oauth2client.tools import argparser
argparser.parse_args()
and got:
usage: __main__.py [--auth_host_name AUTH_HOST_NAME]
[--noauth_local_webserver]
[--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
[--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
__main__.py: error: unrecognized arguments: -f /run/user/1000/jupyter/kernel-c9aa5199-fcea-4884-8e5f-a004c66a733e.json
SystemExit Traceback (most recent call last)
<ipython-input-3-d141fc7aebe0> in <module>()
----> 1 argparser.parse_args()
/usr/lib/python3.5/argparse.py in parse_args(self, args, namespace)
1736 if argv:
1737 msg = _('unrecognized arguments: %s')
-> 1738 self.error(msg % ' '.join(argv))
1739 return args
1740
/usr/lib/python3.5/argparse.py in error(self, message)
2392 self.print_usage(_sys.stderr)
2393 args = {'prog': self.prog, 'message': message}
-> 2394 self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
/usr/lib/python3.5/argparse.py in exit(self, status, message)
2379 if message:
2380 self._print_message(message, _sys.stderr)
-> 2381 _sys.exit(status)
2382
2383 def error(self, message):
SystemExit: 2发布于 2017-07-12 02:59:30
在ArgumentParser.parse_args()的文档中,“默认情况下,参数字符串取自sys.argv ...”。在本例中,sys.argv命令行参数是那些创建Jupyter notebook服务器进程的参数。作为一种变通办法,假设您不需要使用任何标志,您可以替换
flags = argparser.parse_args()使用
flags = argparser.parse_args([])您可以将标志作为字符串添加到所提供的列表中,如下所示:
flags = argparser.parse_args(['--auth_host_name=example.org', '--auth_host_port=1234'])https://stackoverflow.com/questions/41961949
复制相似问题