我在导入一个看似存在的模块时遇到了一些困难: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脚本?
答案 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?。