0

こんにちは、Python 開発は初めてです。http://dtmilano.blogspot.in/2012/02/monkeyrunner-interacting-with-views.htmlにあるコードを実行しようとしていますが、コードを実行しようとすると次のエラーが発生します:

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

PyDev と Jython 2.5.3 で Eclipse を使用しています。また、Windows 7 マシンで実行されている Eclipse で Python 32 を構成しました。他の Python スクリプトは正常に実行されていますが、dtmilano のブログで提供されているコードがこのエラーを引き起こしている理由がわかりません。AndroidViewClient もインストールし、システム パスに ANDROID_VIEW_CLIENT_HOME を設定しました。助けてください。

4

3 に答える 3

1

これには少し時間がかかりました。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

MonkeyRunnerのパッケージをインポートするcomと、そのパッケージでのみ検索されるようですdtmilano。ただし、com何かをインポートする前に両方のパッケージがパスにある場合は、両方の場所を調べることを認識します。

于 2013-03-15T22:23:47.993 に答える
0

http://dtmilano.blogspot.ca/2012/09/monkeyrunner-importing-from-pythonpath.htmlで、Eclipse と PyDev およびコマンド ラインからPYTHONPATHの環境変数の使用方法に関する詳細な説明を見つけることができます。ANDROID_VIEW_CLIENT_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
于 2012-09-17T00:39:10.020 に答える