Этот вопрос является продолжением
Запуск сценария Jython из терминала с параметром
@ KarlderKaefer
В Вкратце, я хотел бы вызвать ImageJ из командной строки для выполнения сценариев Python, которые принимают параметры в качестве входных данных и анализируют с помощью getopt (). Как указано в приведенной выше ссылке, существует два способа написания сценария и вызова:
- Классический Python способ с sys.argv
> imagej --headless --console JythonScript.py param1
JythonScript.py:
import sys
program_name = sys.argv[0]
paramvalue1 = sys.argv[1]
Jython указывает c путь с # @String et c.
> imagej --ij2 --headless --console --run JythonScript_2.py 'param1=value'
JythonScript_2.py:
# @String param1
The Jython ( во-вторых) у меня получился способ, но когда я попробовал «классический» 1042 * (первый) способ, я получил:
Error while executing the main() method of class 'org.python.util.jython':
java.lang.UnsatisfiedLinkError: org.scijava.jython.shaded.org.fusesource.jansi.internal.CLibrary.init()V
at org.scijava.jython.shaded.org.fusesource.jansi.internal.CLibrary.init(Native Method)
at org.scijava.jython.shaded.org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:43)
at org.scijava.jython.shaded.org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
at org.scijava.jython.shaded.org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
at org.python.jline.AnsiWindowsTerminal.detectAnsiSupport(AnsiWindowsTerminal.java:57)
at org.python.jline.AnsiWindowsTerminal.<init>(AnsiWindowsTerminal.java:27)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.python.jline.TerminalFactory.getFlavor(TerminalFactory.java:211)
at org.python.jline.TerminalFactory.create(TerminalFactory.java:102)
at org.python.jline.TerminalFactory.get(TerminalFactory.java:186)
at org.python.jline.TerminalFactory.get(TerminalFactory.java:192)
at org.python.jline.console.ConsoleReader.<init>(ConsoleReader.java:243)
at org.python.util.JLineConsole.install(JLineConsole.java:107)
at org.python.core.Py.installConsole(Py.java:1744)
at org.python.core.PySystemState.initConsole(PySystemState.java:1269)
at org.python.core.PySystemState.doInitialize(PySystemState.java:1119)
at org.python.core.PySystemState.initialize(PySystemState.java:1033)
at org.python.core.PySystemState.initialize(PySystemState.java:989)
at org.python.core.PySystemState.initialize(PySystemState.java:984)
at org.python.util.jython.run(jython.java:263)
at org.python.util.jython.main(jython.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:279)
at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:186)
at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:77)
Я никогда не учил Java, поэтому не мог понять, что происходит. Так кто-нибудь, пожалуйста, помогите мне? Спасибо!
Информация о системе Win10.0.17134 (Edu) x64 Фиджи ImageJ 2.0.0-r c -69 / 1.52p Java 1.8.0_172 (x64) Windows PowerShell 5.1.17134.858 работает в ConEmu 191012 превью