【发布时间】:2017-10-27 00:38:52
【问题描述】:
我从这个链接中获取了一个书面样本来编写我的 Python + Java 集成代码。
http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html
代码如下所示。
package org.jython.book.interfaces;
import org.jython.book.interfaces.JythonObjectFactory;
import org.python.core.Py;
import org.python.core.PyString;
import org.python.core.PySystemState;
public class Main {
public static void main(String args[]) {
String projDir = System.getProperty("user.dir");
String rootPath = projDir + "/src/org/jython/book/interfaces/";
String modulesDir = projDir + "/src/org/jython/book/interfaces/";
System.out.println("Project dir: " + projDir);
PySystemState sysSt = Py.getSystemState();
JythonObjectFactory factory = new JythonObjectFactory(sysSt, BuildingType.class, "Building", "Building");
BuildingType building = (BuildingType) factory.createObject();
building.setBuildingName("BUIDING-A");
building.setBuildingAddress("100 MAIN ST.");
building.setBuildingId(1);
System.out.println(building.getBuildingId() + " " +
building.getBuildingName() + " " +
building.getBuildingAddress());
}
}
当我运行这段代码时,它会抛出一个错误,它没有找到 python 模块。我将 .py 和 .pyc 文件保存在作为“modulesDir”提供的路径下。
文献上说"the requested module must be contained somewhere on the sys.path";但是,我不明白如何从这个 Java 程序中设置它。有人可以提供一些帮助吗?
Project dir: /Users/eclipsews/PythonJava
Exception in thread "main" ImportError: No module named Building
【问题讨论】: