Попытка запустить простой скрипт Python monkeyrunner, 'importerror no module named os'

У меня на компьютере установлен эмулятор Android/SDK, и я пытаюсь запустить простой скрипт Python, но он не работает в строке «import os» (которая должна быть стандартной!)

Вот мой сценарий:

import os

print os.environ['PATH']

отлично работает, когда я запускаю его против фактического исполняемого файла python как

python test.py

но, когда я делаю

monkeyrunner.bat test.py

Я получаю сообщение об ошибке, указанное в заголовке этого вопроса. Я несколько раз удалял/переустанавливал python, но безуспешно. Пытался добавить переменную PYTHONPATH ENV, не повезло. Установите каталог установки python в переменную PATH ENV. Что-то я не в своем уме, я думаю, что monkeyrunner работает на jython, но я не знаю, смогу ли я управлять установкой jython, которая поставляется с SDK.


person Richthofen    schedule 16.05.2013    source источник


Ответы (4)


Решение этой проблемы (и объяснение самой проблемы) можно найти по адресу http://dtmilano.blogspot.ca/2013/05/monkeyrunner-importerror-no-module.html.

По сути, вы должны заменить jython-2.5.3.jar на jython-standalone-2.5.3.jar, по крайней мере, пока не выйдет Android SDK Tools Rev. 22.0.1.

person Diego Torres Milano    schedule 28.05.2013

Проблема в том, что последние версии Android SDK включают jython-2.5.3, в котором нет ОС и других встроенных импортируемых библиотек. Я нашел старую копию SDK и использовал старый JAR, который, похоже, был встроен в это те самые библиотеки.

person Richthofen    schedule 16.05.2013

all by itself in the jython interpreter

Если вы используете jython, упакованный с Android SDK, он по умолчанию не включает модуль os. Вам нужно взять один и вставить его туда или использовать другой интерпретатор.

person Andenthal    schedule 16.05.2013
comment
Я установил Python 2.7 в папку c:\Python27\ на своей машине. В папке LIB в этой папке есть все либы, включая os.py... Вот в чем, я думаю, проблема, библиотека Jython не знает об этой папке, и я не знаю, как ей сказать, где искать те. - person Richthofen; 17.05.2013

Я решил эту проблему с помощью java 1.7.0_21.

person io1977    schedule 23.05.2013
comment
Проблема не имеет ничего общего с Java - person Diego Torres Milano; 28.05.2013