如何将缺少的模块导入monkeyrunner脚本?

时间:2012-01-28 16:48:29

标签: android python jython monkeyrunner

我在导入一个看似存在的模块时遇到了一些困难:simplejson导入我的MonkeyRunner脚本。

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

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

if __name__ == "__main__":
    main()

ImportError:没有名为simplejson的模块

据我了解,MonkeyRunner使用基于Python 2.5的Jython 2.5。我知道JSON模块是用Python 2.7编写的,但我在'/Library/Python/2.5/site-packages/simplejson-2.3.2-py2.5-macosx-10.7-x86_64.egg'下安装了Python 2.5的simplejson

我的问题是,如何正确地将simplejson模块导入MonkeyRunner脚本?

1 个答案:

答案 0 :(得分:2)

为Python安装软件包并不能使它与Jython一起使用。

Jython基于Python(又名CPython),前者的目的是与后者兼容,但实现方式却截然不同。

可以将简化的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?

相关问题