Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImportError:没有名为dtmilano的模块_Android_Eclipse_Pydev_Jython_Androidviewclient - Fatal编程技术网

Android ImportError:没有名为dtmilano的模块

Android ImportError:没有名为dtmilano的模块,android,eclipse,pydev,jython,androidviewclient,Android,Eclipse,Pydev,Jython,Androidviewclient,嗨,我是python开发新手。我正在尝试执行中给出的代码,但当我尝试执行代码时,会出现以下错误: Traceback (most recent call last): File "C:\Users\gur31265\workspace\MonkeyRunnerForSmartRecorder\com\test\Runner.py", line 23, in <module> from com.dtmilano.android.viewclient import ViewC

嗨,我是python开发新手。我正在尝试执行中给出的代码,但当我尝试执行代码时,会出现以下错误:

Traceback (most recent call last):
  File "C:\Users\gur31265\workspace\MonkeyRunnerForSmartRecorder\com\test\Runner.py", line 23, in <module>
    from com.dtmilano.android.viewclient import ViewClient
ImportError: No module named dtmilano
回溯(最近一次呼叫最后一次):
文件“C:\Users\gur31265\workspace\MonkeyRunnerForSmartRecorder\com\test\Runner.py”,第23行,在
从com.dtmilano.android.viewclient导入viewclient
ImportError:没有名为dtmilano的模块

我将eclipse与PyDev和Jython 2.5.3一起使用。我还配置了在Windows7机器上运行的eclipse上的Python32。其他Python脚本运行良好,但我不知道dtmilano博客上给出的代码为什么会导致此错误。我还安装了AndroidViewClient,并在系统路径中设置了ANDROID_VIEW_CLIENT_HOME。请提供帮助。

您可以从Eclipse和PyDev以及位于的命令行中找到有关如何使用
PYTHONPATH
ANDROID\u VIEW\u CLIENT\u HOME
环境变量的详细说明

简而言之:

#!/usr/bin/env monkeyrunner
import re
import sys
import os
import java

# This must be imported before MonkeyRunner and MonkeyDevice,
# otherwise the import fails.
# PyDev sets PYTHONPATH, use it
try:
    for p in os.environ['PYTHONPATH'].split(':'):
       if not p in sys.path:
          sys.path.append(p)
except:
    pass

try:
    sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
    pass

from com.dtmilano.android.viewclient import ViewClient, View
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

使用android SDK中的monkeyrunner运行代码。例如: 要编译名为help.py的文件,请使用以下命令: c:>monkeyrunner help.py
同样的命令也适用于linux环境。

我花了一点时间来解决这个问题。在导入MonkeyRunner之前,请确保将AndroidViewClient源目录附加到路径

以下操作将因导入错误而失败:没有名为dtmilano的模块:

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
sys.path.append('/path/to/android_view_client_home/src')
from com.dtmilano.android.viewclient import ViewClient
但是,如果您只需切换顺序即可:

sys.path.append('/path/to/android_view_client_home/src')
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
from com.dtmilano.android.viewclient import ViewClient

似乎一旦导入MonkeyRunner的
com
包,它将只在该包中查找
dtmilano
。但是,如果在您导入任何内容之前,两个
com
包都在路径中,它将知道在这两个位置查找。

您得到的
sys.path
是什么?C:\\Users\\gur31265\\workspace\\MonkeyRunnerForSmartRecorder\\com\\test,C:\\Users\\gur31265\\workspace\\MonkeyRunnerForSmartRecorder,D:\\E&F驱动器备份\\程序文件\\Android\\Android sdk\\tools\\lib\\monkeyrunner.jar,C:\\Users\\gur31265\\Downloads\\dtmilano-AndroidViewClient-bd98f63\\AndroidViewClient\\src,D:\\E&F驱动器备份\\程序文件\\Android\\Android sdk\\tools\\lib\\jython.jar,C:\\Program Files\\Python32\\dll,C:\\Program Files\\Python32\\lib,C:\\Program Files\\Python32,C:\\Program Files\\Python32\\lib\\site packages,C:\\Windows\\system32\\Python32.zipIf我将其作为python模块运行时,会出现以下错误:回溯(最近一次调用):文件“C:\Users\gur31265\workspace\MonkeyRunner\com\htc\monkey\runner\MonkeyRunner.py”,第19行,在from com.dtmilano.android.viewclient导入viewclient导入错误:是否没有名为dtmilano.android.viewclientjars的模块?你在用jython?您链接到的脚本使用
monkeyrunner
作为可执行文件,而不是Python…我正在windows 7上工作,我没有monkeyrunner.exe,如果我尝试将其设置为解释器,eclipse将不会接受它。是的,要做到这一点,我需要一台Linux机器。就是它!我挣扎了这么久!这是唯一让它起作用的东西!非常感谢。我正在尝试运行一个Monkey runner脚本测试。在完成上述操作后,我开始得到“对于这个模块,您应该使用‘python’解释器,而不是‘monkeyrunner’”…有什么建议吗?