Я пытаюсь сделать это руководство по Gooey GUI: , и я буквально не могу пройти первый блок кода, где он анализирует аргументы.Я пробовал Spyder и Jupyter и застрял в этом блоке в течение часа:
from argparse import ArgumentParser
parser = ArgumentParser(description='Create Quarterly Marketing Report')
parser.add_argument('data_directory',
action='store',
help="Source directory that contains Excel files")
parser.add_argument('output_directory',
action='store',
help="Output directory to save summary report")
parser.add_argument('cust_file',
action='store',
help='Customer Account Status File')
parser.add_argument('-d', help='Start date to include')
args = parser.parse_args()
Моя ошибка:
usage: ipykernel_launcher.py [-h] [-d D]
data_directory output_directory cust_file
ipykernel_launcher.py: error: the following arguments are required: data_directory, output_directory, cust_file
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
Полная трассировка:
---------------------------------------------------------------------------
SystemExit Traceback (most recent call last)
<ipython-input-24-28f93e96a3df> in <module>
----> 1 args = parser.parse_args('')
~\Anaconda3\lib\argparse.py in parse_args(self, args, namespace)
1747 # =====================================
1748 def parse_args(self, args=None, namespace=None):
-> 1749 args, argv = self.parse_known_args(args, namespace)
1750 if argv:
1751 msg = _('unrecognized arguments: %s')
~\Anaconda3\lib\argparse.py in parse_known_args(self, args, namespace)
1779 # parse the arguments and exit if there are any errors
1780 try:
-> 1781 namespace, args = self._parse_known_args(args, namespace)
1782 if hasattr(namespace, _UNRECOGNIZED_ARGS_ATTR):
1783 args.extend(getattr(namespace, _UNRECOGNIZED_ARGS_ATTR))
~\Anaconda3\lib\argparse.py in _parse_known_args(self, arg_strings, namespace)
2014 if required_actions:
2015 self.error(_('the following arguments are required: %s') %
-> 2016 ', '.join(required_actions))
2017
2018 # make sure all required groups had one option present
~\Anaconda3\lib\argparse.py in error(self, message)
2499 self.print_usage(_sys.stderr)
2500 args = {'prog': self.prog, 'message': message}
-> 2501 self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
~\Anaconda3\lib\argparse.py in exit(self, status, message)
2486 if message:
2487 self._print_message(message, _sys.stderr)
-> 2488 _sys.exit(status)
2489
2490 def error(self, message):
SystemExit: 2
Я проверил эту ошибку при переполнении стека, но предложенные ответы не сработали для меня или не вдавались в подробности, чтобы я мог выяснить проблему.
Я знаю, что это должно использоваться вкомандной строки, но есть ли способ следовать вышеупомянутому учебнику в Jupyter или Spyder?
edit: не уверен, что это какая-то помощь, но вывод sys.argv
:
['C:\\Users\\s\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py',
'-f',
'C:\\Users\\s\\AppData\\Roaming\\jupyter\\runtime\\kernel-cc697613-14f5-4979-a353-6112886aba45.json']