2012-01-28 71 views
2

我有點難以導入看似存在的模塊:simplejson到我的MonkeyRunner腳本中。如何將缺少的模塊導入到monkeyrunner腳本中?

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 
import simplejson 

def main(): 
    print "this is a test" 

if __name__ == "__main__": 
    main() 

導入錯誤:沒有模塊名爲simplejson

據我瞭解,MonkeyRunner使用的Jython 2.5,基於Python的2.5?我知道JSON模塊是Python 2.7的,但是我已經在'/Library/Python/2.5/site-packages/simplejson-2.3.2-py2.5-macosx-10.7-x86_64.egg'下安裝了simplejson for Python 2.5。

我的問題是,我如何正確地將simplejson模塊導入到MonkeyRunner腳本中?

回答

2

爲Python安裝軟件包不會使其可用於Jython。

Jython基於Python(又名CPython),意思是前者的目的是與後者兼容,但實現是完全不同的。

有可能simplejson的CPython的版本添加到Jython的路徑:

import sys 
sys.path.append("/Library/Python/2.5/site-packages/simplejson-2.3.2-py2.5-macosx-10.7-x86_64.egg") 
import simplejson 

這個「絕招」恰好工作(至少對我來說...)與simplejson包。與其他軟件包,它將不會工作。

我寧願爲Jython實際安裝simplejson。詳情請參閱How can I install various Python libraries in Jython?