2012-02-09 19 views
8

Tại sao nhập MonkeyRunner thành tập lệnh Python không thành công trong Windows?Nhập MonkeyRunner vào tập lệnh Python không thành công trong Windows

Tôi đã tạo tệp foo.py và mã được sao chép từ MonkeyRunner docs. Các lỗi sau xuất hiện khi biên dịch mã mẫu trong dòng cmd:

 
Traceback (most recent call last): 
    File "foo.py", line 2, in 
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 
ImportError: No module named com.android.monkeyrunner 


các thư mục công cụ Android có monkeyrunner.jar ... và tôi không hiểu làm thế nào để nói với Python để import các classes từ nó.


Follow-up

tôi phát hiện ra lỗi đến vì tôi không có những công cụ mới nhất của Android (16).

  1. Update để các công cụ mới nhất (16) & nền tảng (15) đầu tiên
  2. Thêm android-sdk \ tools vào con đường
  3. Đặt foo.py vào android-sdk thư mục \ tools (nó dường như không để làm việc bất cứ nơi nào khác)
  4. Chuyển usb debugging trên
  5. Đính kèm điện thoại với máy tính
  6. Loại "monkeyrunner foo.py"

Trả lời

5

A) MonkeyRunner sử dụng Jython, vì vậy bạn phải đảm bảo rằng bạn đã cài đặt

B) Jython phải biết MonkeyRunner ở đâu. Bạn có thể có kịch bản tại cùng một vị trí như nơi MonkeyRunner được đặt, hoặc bạn có thể thêm nó vào con đường của Jython, vì vậy Jython sẽ có thể tìm thấy nó không có vấn đề nơi bạn chạy kịch bản từ.

+0

Cảm ơn. Về phần Python: bạn có biết cách nhập MonkeyRunner bằng mã Python không? Ví dụ doc là trong Python và "API khỉrunner" cụ thể nói như vậy: "Trong một chương trình Python, bạn truy cập mỗi lớp như một mô-đun Python." –

+1

@ JarnoArgillander Jython là một trình thông dịch Python, được viết bằng Java. Nó chạy mã python và các chương trình python. Mặc dù CPython (trình thông dịch Python bình thường) sẽ có thể phân tích cú pháp mã, nó sẽ không bao giờ có thể * chạy * nó, bởi vì mô-đun MonkeyRunner được viết bằng Java. Jython dịch giữa hai ngôn ngữ. Tin tưởng tôi, nếu bạn muốn chạy MonkeyRunner, bạn cần phải cài đặt Jython như sử dụng như là trình thông dịch Python của bạn. – Ivo

+0

Ok, cảm ơn lời giải thích tuyệt vời. :) Tôi sẽ thử tuyến đường đó. –

Các vấn đề liên quan