我正在尝试将无头 imageJ 库连接到我的 python 应用程序。不幸的是,依赖错误列表无穷无尽,我现在陷入了一个导入错误,涉及导入名为 jnius 的 java 包装器。
到目前为止,我已经使用更新的 pip 安装了:wheel、imagej、cython、imglyb、pyjnius 模块。由于在两者之间触发了“无法确定 JDK_HOME”,因此我遵循了将环境变量列表更新到我的路径(用户和系统)的明显规则。在这两者之间,pyjnius 报告"Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools"
我安装了相同的(5.63 GB)和“VCForPython27”。
import os
print(os.environ.get('JAVA_HOME'))
print(os.environ.get('JDK_HOME'))
这两个命令都给了我以下输出:
C:\Program Files\Java\jdk-11.0.2; C:\Program Files\Java\jdk-11.0.2\bin;C:\Program Files\Java\jdk-11.0.2\bin\server
现在我可以在我的代码中导入 imageJ,但是当我尝试使用它的第一个函数时
ij = imagej.init('C:\\Users\\Documents\\ImageJ_Fiji\ImageJ-win64.exe')
我收到与import scyjava
as:相关的以下错误"Unable to import scyjava dependency jnius."
,当我尝试运行时,pip install jnius --user
我收到相同的旧错误:“无法确定 JDK_HOME”,这似乎令人困惑,因为我已成功安装pyjnius
,并且 apip install scyjava --user
给了我一个满足所有要求的输出。
我不再使用 conda 环境(因为它让我很困惑),我的 python 版本是 3.7.2,我的操作系统是 windows 10。我使用的编辑器是 PyCharm。我已经从 oracle 网站安装了最新的 JDK 和 JRE。