2012-09-10 6 views
0

Bonjour, je suis nouveau dans le développement de python. Je suis en train d'exécuter le code à http://dtmilano.blogspot.in/2012/02/monkeyrunner-interacting-with-views.html mais chaque fois que je suis en train d'exécuter le code i get suivantes erreur:ImportError: Aucun module nommé 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 

J'utilise Eclipse avec PyDev et Jython 2.5.3. J'avais aussi configuré Python 32 sur eclipse fonctionnant sous Windows 7. D'autres scripts Python fonctionnent bien mais je ne sais pas pourquoi le code donné sur le blog de dtmilano provoque cette erreur. J'avais également installé AndroidViewClient et défini le ANDROID_VIEW_CLIENT_HOME dans le chemin du système. S'il vous plaît aider.

+0

@dtmilano aidez s'il vous plaît –

+0

Quel est le 'sys.path' vous obtenez? –

+0

C: \\ Utilisateurs \\ gur31265 \\ espace de travail \\ MonkeyRunnerForSmartRecorder \\ com \\ test, C: \\ Utilisateurs \\ gur31265 \\ espace de travail \\ MonkeyRunnerForSmartRecorder, D: \\ E & F Drive Sauvegarde \\ Programme Fichiers \\ Android \\ android-sdk \\ outils \\ lib \\ monkeyrunner.jar, C: \\ Utilisateurs \\ gur31265 \\ Téléchargements \\ dtmilano-AndroidViewClient-bd98f63 \\ AndroidViewClient \\ src, D: \\ E & F Drive Sauvegarder \\ Program Files \\ 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 \\ paquets-de-site, C: \\ Windows \\ system32 \\ python32.zip –

Répondre

0

Vous pouvez trouver une explication détaillée sur la façon d'utiliser PYTHONPATH et ANDROID_VIEW_CLIENT_HOME variables d'environnement Eclipse et PyDev ainsi que de la ligne de commande à http://dtmilano.blogspot.ca/2012/09/monkeyrunner-importing-from-pythonpath.html.

En bref:

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

Utilisation monkeyrunner situé dans Android SDK pour exécuter votre code. Par exemple: pour compiler un fichier nommé help.py, utilisez la commande suivante: c:> monkeyrunner help.py La même commande fonctionnera également sur l'environnement Linux.

1

Cela m'a pris un peu de travailler. Assurez-vous d'ajouter le répertoire source AndroidViewClient à votre chemin avant d'importer MonkeyRunner.

Ce qui suit va échouer avec 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 

Cependant, il ne fonctionnera que si vous passez juste l'ordre:

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

Il semble qu'une fois qu'il importe le package com pour MonkeyRunner, il ne cherchera dans ce paquet que pour dtmilano. Cependant, si les deux packages com se trouvent dans le chemin avant d'importer quoi que ce soit, il saura regarder dans les deux emplacements.

+0

C'est ça! J'ai lutté si longtemps! C'est la seule chose qui l'a fait fonctionner! Je vous remercie! – EGHDK

+0

J'essaie d'exécuter un test de script Monkey runner .. après avoir fait ci-dessus j'ai commencé à obtenir "Vous devriez utiliser un interpréteur 'python', pas 'monkeyrunner' pour ce module" ... une suggestion? – CoDe