更新:按照@dtmilano 的建议,我添加了
import sys
print(sys.path)
到我的 MonkeyRunner 脚本的开头。这导致
['e:/path/android-sdk/tools/lib/monkeyrunner.jar:e:\\path\\bbct\\android\\functional-tests', 'E:\\path\\android-sdk\\tools\\lib\\Lib', '/E:/path/android-sdk/tools/lib/jython-standalone-2.5.3.jar/Lib', '__classpath__', '__pyclasspath__/']
乍一看,我认为这包括当前的工作目录。然而,仔细检查表明输出是一个字符串列表,其中第一个字符串是
'e:/path/android-sdk/tools/lib/monkeyrunner.jar:e:\\path\\bbct\\android\\functional-tests'
由于某种原因,这包含连接在一起的两条路径。这是 MonekyRunner 和/或 Jython 中的错误吗?
原始问题:我在同一目录中有两个 .py 文件:screenshots.py
和util.py
. 我需要使用monkeyrunner
Android 构建工具中的解释器运行 screenshots.py。当我运行时monkeyrunner screenshots.py
,我得到错误No module named util
。如何配置我的 python 和/或 monkeyrunner 以在 中查找代码util.py
?
编辑: 我在 Win7 上使用 Git Bash。(糟糕,我可能应该早点提到这一点。)
作为参考,这是完整的错误消息:
130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions] 脚本因异常而终止
130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]Traceback(最近最后调用):
文件“c:\Users\Dell\Documents\dev\src\java\bbct\android\functional-tests\screenshots.py”,第 19 行,在
import util
ImportError: No module named util130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core.Py.ImportError(Py.java:264)
130807 12:01:59.978:S [main] [com .android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core.imp.import_first(imp.java:657) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core .imp.import_name(imp.java:741) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core.imp.importName(imp.java:791) 130807 12 :01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 org.python.core.ImportFunction。调用(_内置_.java:1236) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core.PyObject。在 org.python.core调用(PyObject.java:367) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
。org.python.core 的内置._ import _( builtin .java:1207) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
。内置._导入_(内置.java:1190) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 org.python.core.imp.importOne(imp.java:802) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 org.python.pycode._pyx0.f$0(c :\Users\Dell\Documents\dev\src\java\bbct\android\functional-tests\screenshots.py:51) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org .python.pycode._pyx0.call_function(c:\Users\Dell\Documents\dev\src\java\bbct\android\functional-tests\screenshots.py) 130807 12:01:59.978:S [main] [com. android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core.PyTableCode.call(PyTableCode.java:165) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 org.python.core.PyCode.call(PyCode.java:18) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 org.python.core.Py.runCode(Py. java:1197) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at org.python.core。org.python.util.PythonInterpreter.execfile ( PythonInterpreter.java:156) 130807 12:
01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
at com.android.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116) 130807 12:01:59.978:S [main] [com.android. monkeyrunner.MonkeyRunnerOptions]
在 com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.java:77) 130807 12:01:59.978:S [main] [com.android.monkeyrunner.MonkeyRunnerOptions]
在 com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.爪哇:189)