我正在从一个名为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-package和/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages.中我还将必要的文件从该位置复制并粘贴到我的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属性设置为什么,我仍然会得到相同的错误。现在只需要导入datetime,但我知道如果我先使用import psutil,它也会中断这一行。有什么想法吗?
发布于 2019-09-23 03:17:25
我想通了。我只需将sys.path上需要的内容添加到我的bash_profile中的PYTHONPATH变量中,这样它就可以将其添加到sys.path变量中。
https://stackoverflow.com/questions/58046374
复制相似问题