我正在从一个名为 PyInterpreter 的 java 类中运行一个名为 diagnostics.py 的 python 程序,该类初始化一个 jython PythonInterpreter 对象和一个要使用的文件,并且可以运行该 python 程序中的方法。我的 python 程序如下所示:
import datetime
import psutil
class HeartbeatGenerator:
...
当我尝试运行这个程序时,我得到了错误:
Exception in thread "main" Traceback (most recent call last):
File "../../../eclipse-workspace/Diagnostics/diagnostics.py", line 2, in <module>
import datetime
ImportError: No module named datetime
我已经使用 pip 安装了 datetime 和 psutil,它们位于 /usr/local/bin/python3.7/site-packages 以及 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-包。我还将该位置的必要文件复制并粘贴到我的 jython.2.5.3/lib/site-packages 中,在我的 PyInterpreter 文件中,我尝试为 python.home 和 python.path 设置我的系统属性,如下所示:
public PyInterpreter()
{
Properties props = System.getProperties();
props.setProperty("python.home", "/usr/local/lib/python3.7");
props.setProperty("python.path", "/usr/local/lib/python3.7/site-packages");
System.out.print(props);
PythonInterpreter.initialize(System.getProperties(),
props,
new String[0]);
this.interpreter = new PythonInterpreter();
}
但无论我将 sys 属性设置为什么,我仍然会遇到同样的错误。现在它只在导入日期时间线上,但我知道如果我import psutil
先导入,它也会在那条线上中断。有任何想法吗?