【问题标题】:How do I import a missing module into a monkeyrunner script?如何将缺少的模块导入到 monkeyrunner 脚本中?
【发布时间】:2012-02-21 05:59:25
【问题描述】:

我在将一个看似存在的模块: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 脚本中?

【问题讨论】:

    标签: android python jython monkeyrunner


    【解决方案1】:

    为 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?

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 2018-12-29
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      相关资源
      最近更新 更多