如何将缺少的模块导入到 Monkeyrunner 脚本中?

发布于 2024-12-29 06:51:20 字数 542 浏览 1 评论 0原文

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

I am having a bit of difficulty importing a seemingly existing module: simplejson into my MonkeyRunner script.

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

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

if __name__ == "__main__":
    main()

ImportError: No module named simplejson

As I understand it, MonkeyRunner uses Jython 2.5, based on Python 2.5?. I know that the JSON module came in Python 2.7, but I have installed simplejson for Python 2.5 under '/Library/Python/2.5/site-packages/simplejson-2.3.2-py2.5-macosx-10.7-x86_64.egg'

My question is, how do I properly get simplejson modules imported into a MonkeyRunner script?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里泪两行 2025-01-05 06:51:20

安装 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。请参阅如何在 Jython 中安装各种 Python 库?细节。

Installing a package for Python does not make it available for use with Jython.

Jython is based on Python (aka CPython) in the sense that the former aims to be compatible with the latter, but the implementations are quite different.

It is possible to add the CPython version of simplejson to Jython's path:

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

This "trick" happens to work (for me at least...) with the simplejson package. With other packages it won't work at all.

I would prefer to actually install simplejson for Jython. See How can I install various Python libraries in Jython? for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文