如何解决使用 ij 和 loci 类使 ImageJ/Fiji Jython 脚本从 bash 脚本工作
到目前为止,我从斐济的脚本编辑器执行了我的 jython 插件。 我想在命令行中执行我的 jython 脚本。
在该行执行 jython myscript.py
时
from ij import IJ
我收到错误:
导入错误:没有名为 ij 的模块
我猜是找不到ij的jar文件,通常是ImageJ编辑器找到的。
所以我设置了java类路径:
java -cp “/home/user/input_bash/jars/ij.jar” ij
然后我收到错误:
未找到主类。 (费勒:Hauptklasse ij konnte nicht gefunden 奥得盖拉登韦尔登) 原因:java.lang.classNotFoundException:ij
我是 Java 新手,这是否意味着我没有使用正确的 jars?
我也是用编辑器来执行的:
from ij import IJ;
print(IJ.getClassLoader().loadClass("ij.IJ")
.getResource("IJ.class").toString());
哪个给了我目录:/home/user/Software/Fiji.app/jars/ij-1.53c.jar!/ij/IJ.class
这意味着编辑器使用了 ij-1.53c.jar 中的类!
然后我尝试:
java -cp "/home/lisa/Software/Fiji.app/jars/ij-1.53c.jar\!/ij" ij
由于 \
增加了 !
。
我仍然得到相同的 classNotFoundException
。
解决方法
当我在命令行运行 jython 脚本时,我像这样使用 jython.jar:
java -jar jython.jar somescript.py
如果您在 jython 模块或 jars 中有外部依赖项,您可以将它们添加到类路径中以便它们被拾取。您可能还需要将 jython 模块的路径添加到 sys.path:
import sys
sys.path.append("<path to modules>")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。