Ich versuche, ein Python 3-Skript über die Befehlszeile mit der Click-Bibliothek auszuführen, aber es scheint, dass es nicht so funktioniert wie es sollte.TypeError: 'str' Objekt kann nicht mit Python aufgerufen werden Klicken Sie auf Bibliothek
@click.option('--criteria', default='', type=click.STRING, envvar="CRITERIA")
, dass die gegebene Linie, die die TypeError: 'str' object is not callable
wirft ist. Soll ich etwas anderes machen oder ist es eine Frage der Syntax?
UPDATE
Nachdem die Platzierung der criteria
Option nur wenige Orte oben geändert, jetzt sehe ich, dass der erwähnte Fehler, bevor sie in der letzten platziert Option gegeben wird, unabhängig von der Art. Dies ist meine Methodensignatur und die Orte, an denen die Parameter verwendet werden.
@click.command('my_command', 'Initialize my_command')
@click.option('--s1', type=click.STRING, envvar='S_1',
help='s1')
@click.option('--s2', type=click.STRING, envvar='S_2',
help='s2')
@click.option('--i', type=click.STRING, envvar="I")
@click.option('--c', type=click.STRING, envvar="C")
@click.option('--l', default='[]', type=click.STRING, envvar="L")
@click.option('--st', default='[]', type=click.STRING, envvar="ST")
@click.option('--s', default='[]', type=click.STRING, envvar="S")
def my_command(s1, s2, i, c, l, st, s):
...
Traceback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/project_root/__main__.py", line 27, in <module>
@click.command('my_command', 'Initialize my_command')
File "/project_root/venv/lib/python3.6/site-packages/click/decorators.py", line 115, in decorator
cmd = _make_command(f, name, attrs, cls)
File "/project_root/venv/lib/python3.6/site-packages/click/decorators.py", line 89, in _make_command
callback=f, params=params, **attrs)
TypeError: 'str' object is not callable
Zeigen Sie den vollständigen Code und die vollständige Rückverfolgung. –
Könnten Sie bitte etwas mehr von dem umgebenden Code zur Verfügung stellen? – rocksteady
@DanielRoseman Entschuldigung für die Verzögerung. Überprüfen Sie das Update, wie ich überprüft habe und der Fehler für die letzte Option im Stapel von 'Option' wiederholt, auch wenn ich nur die click.command-Anotation belassen. –