我的项目设置如下,它从一个Java类开始,它使用PythonInterpreter.initialize方法设置我的python路径到jython Lib目录和一个包含“org / curious / neofelis / 的目录我的jython文件“。然后我创建一个PythonInterpreter并让它执行我的主jython文件。
我想这是非正统的,但它一直在工作但是当我尝试使用Popen时我得到了这个错误
File "/home/steven/jython/Lib/subprocess.py", line 1163, in _get_handles
elif isinstance(stdout, org.python.core.io.RawIOBase):
当尝试重现此错误时,我发现我可以执行此操作
from org.python.util import PythonInterpreter
#A PythonInterpreter running inside a PythonInterpreter!
interpreter = PythonInterpreter()
interpreter.exec("print 3+6");
sys.exit(0)
但这没有飞行
import org
interpreter = org.python.util.PythonInterpreter()
interpreter.exec("print 3+6");
sys.exit(0)
File "/home/steven/neofelis/src/main/jython/org/curious/neofelis/main.py", line 34, in <module>
interpreter = org.python.util.PythonInterpreter()
AttributeError: 'module' object has no attribute 'python'
答案 0 :(得分:0)
导入包 - 在这种情况下为org
- 并不总是导入其所有子包和子模块。由{I} import org
定义将包含的内容取决于包。显然,python
子包默认情况下不包含在导入中,因此您需要显式导入它。