Я хочу передать введенные пользователем аргументы из командной строки в точку входа для сценария python. До сих пор я пытался использовать argparse для передачи аргументов из командной строки в скрипт test.py. Когда я пытаюсь передать аргументы, они не распознаются, и я получаю следующую ошибку.
load_entry_point ('thesaurus == 0.1', 'console_scripts', 'thesaurus') ()
TypeError: find_synonym () отсутствует 1 обязательный позиционный аргумент: 'argv'
Я посмотрел другие примеры здесь, но не смог заставить работать ни одно из решений.
def main(argv):
if argv is None:
argv = sys.argv
parser = argparse.ArgumentParser(description='Enter string')
parser.add_argument('string', type=str, help='Enter word or words', nargs='*')
args = parser.parse_args(argv[1:])
print(args)
if __name__ == "__main__":
sys.exit(main(sys.argv))
Моя точка входа в скрипт setup.py выглядит следующим образом
setup(entry_points={'console_scripts': ['test=test_folder.main:main']})
То, что я ожидаю получить, похоже на то, когда я запускаю python main.py main foo. Который успешно распечатает привет, когда он передается функции.