我试图从java代码运行python脚本以连接到Oracle DB(使用cx_oracle
)。我在intellij IDEA 14中编码。当我单独运行我的python代码时,一切正常,但是当我从我的java代码运行我的python代码时,我收到一个错误:
File "D:\New folder\fuckedtest\src\Oracle\connection.py", line 6, in <module>
import cx_Oracle
File "__pyclasspath__/cx_Oracle/__init__.py", line 8, in <module>
File "__pyclasspath__/cx_Oracle/datetime.py", line 11, in <module>
ImportError: No module named cx_Oracle._BASEVARTYPE
这是我在java中的代码:
public void con(){
PythonInterpreter pythonInterpreter = new PythonInterpreter();
pythonInterpreter.execfile("D:\\New folder\\fuckedtest\\src\\Oracle\\connection.py");
PyObject ansd = pythonInterpreter.eval("testcx()");
System.out.println(ansd.toString());
}
这是我的python代码:
def testcx():
import cx_Oracle
connection = cx_Oracle.Connection("system/Admin1234@127.0.0.1/orcl")
cursor = connection.cursor()
我应该说我已经从java代码中运行了很多python脚本,并且运行正常。我不知道这里有什么问题以及为什么它不能在此方法中导入cx_Oracle
。