2010-12-09 30 views
1

我有我的項目設置是這樣的,它開始於一個Java類,它使用PythonInterpreter.initialize方法來設置我的Python路徑jython Lib目錄和一個包含「org/curious/neofelis/我的jython文件」的目錄。然後創建一個PythonInterpreter並讓它執行我的主jython文件。Jython:在子進程模塊中的錯誤,AttributeError:'模塊'對象沒有屬性'python'

我想這是非正統的,但它一直在努力,但是當我試圖用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

導入包 - 在這種情況下org - 並不總是導入其所有子包和子模塊。定義import org時包含的內容取決於包裝。顯然,默認情況下,python子包未包含在導入中,因此您需要明確導入它。

相關問題