Я использую setuptools для сценария Python, который я записал
После установки я делаю:
$ megazord -i input -d database -v xx-xx -w yy-yy
Как я был бы, если я выполнял его./like_this
Однако я добираюсь:
Traceback (most recent call last):
File "/usr/local/bin/megazord", line 9, in <module>
load_entry_point('megazord==1.0.0', 'console_scripts', 'megazord')()
TypeError: main() takes exactly 1 argument (0 given)
То, которое похоже на setuptools, не отправляет мои аргументы основному (), чтобы быть проанализированным (optparse)
Вот моя конфигурация setuptools для entry_points:
entry_points = {
'console_scripts': [
'megazord = megazord.megazord:main',
'megazord-benchmark = megazord.benchmark:main',
'megazord-hash = megazord.mzhash:main',
'megazord-mutate = megazord.mutator:main',
]
}
Какие-либо идеи?
Точке входа setuptools console_scripts требуется функция без аргументов.
К счастью, optparse (синтаксический анализатор параметров командной строки) не нуждается в передаче каких-либо аргументов, он будет читать в sys.argv [1:] и использовать его в качестве входных данных.