ImportError:没有名为dtmilano的模块

问题描述:

您好我是python开发新手。我想在执行给定http://dtmilano.blogspot.in/2012/02/monkeyrunner-interacting-with-views.html的代码,但是当过我试图执行的代码我得到以下错误:ImportError:没有名为dtmilano的模块

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 

我使用的Eclipse中的PyDev和Jython 2.5.3。我还在Windows 7机器上运行的Eclipse上配置了Python 32。其他Python脚本运行良好,但我不知道为什么dtmilano的博客上给出的代码导致此错误。我还安装了AndroidViewClient并在系统路径中设置了ANDROID_VIEW_CLIENT_HOME。请帮忙。

+0

@dtmilano请帮忙 –

+0

你得到了什么'sys.path'? –

+0

C:\\ Users \\ gur31265 \\ workspace \\ MonkeyRunnerForSmartRecorder \\ com \\ test,C:\\ Users \\ gur31265 \\ workspace \\ MonkeyRunnerForSmartRecorder,D:\\ E&F Drive Back up \\ Program Files \\ Android \\ android-sdk \\ tools \\ lib \\ monkeyrunner.jar,C:\\ Users \\ gur31265 \\ Downloads \\ dtmilano -AndroidViewClient-bd98f63 \\ AndroidViewClient \\ src,D:\\ E&F Drive Back up \\ Program Files \\ Android \\ android-sdk \\ tools \\ lib \\ jython.jar,C:\\ Program Files \\ Python32 \\ DLLs,C:\\ Program Files \ \ Python32 \\ lib,C:\\ Program Files \\ Python32,C:\\ Program Files \\ Python32 \\ lib \\ site-packages,C:\\ Windows \\ system32 \\ python32.zip –

有关如何使用来自Eclipse和PyDev的PYTHONPATHANDROID_VIEW_CLIENT_HOME环境变量以及来自命令行http://dtmilano.blogspot.ca/2012/09/monkeyrunner-importing-from-pythonpath.html的详细说明。

简述:位于Android SDK中运行代码

#!/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 

使用monkeyrunner。例如: 编译一个名为help.py的文件,使用以下命令: c:> monkeyrunner help.py 同样的命令也可以在linux环境下工作。

这花了我一些工作。确保在导入MonkeyRunner之前将AndroidViewClient源目录附加到路径中。

下面将失败,并ImportError: No module named 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 

看来,一旦导入com包MonkeyRunner,它只会在dtmilano的封装中查找。但是,如果两个com软件包在导入任何内容之前都处于路径中,那么它将知道在两个位置查找。

+0

这是IT!我奋斗了这么久!这是使它工作的唯一的东西!谢谢! – EGHDK

+0

我正在尝试运行一个猴子亚军脚本测试..在做上述之后,我开始得到“你应该使用'python'解释器,而不是'monkeyrunner'这个模块”......任何建议? – CoDe