нарушение необработанных исключений в pydev / gae - PullRequest
1 голос
/ 23 апреля 2011

Я использую pydev для разработки приложения для Google App Engine. я выполнил шаги, упомянутые здесь , чтобы настроить отладчик pydev для обработки необработанного исключения. я мог бы заставить его работать над примером проекта pydev, но когда я делаю те же шаги в моем проекте pydev gae, он не работает и выдает следующую ошибку:

pydev отладчик: предупреждение: психо не доступны для ускорений (отладчик все равно будет работать правильно, но немного медленнее) отладчик pydev: запуск ...
Traceback (последний вызов был последним):
Файл "c: \ program" Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», строка 3858, в _HandleRequest Файл self._Dispatch (диспетчер, self.rfile, outfile, env_dict) «C: \ Program Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», строка 3792, в _Dispatch base_env_dict = env_dict) Файл "c: \ program" Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», линия 580, в рассылку base_env_dict = base_env_dict) Файл "c: \ program Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», линия 2918, в рассылку self._module_dict) Файл "c: \ program" Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», строка 2822, в ExecuteCGI reset_modules = exec_script (handler_path, cgi_path, хук) Файл "c: \ program" Файлы \ Google \ google_appengine \ Google \ AppEngine \ инструменты \ dev_appserver.py», строка 2702, в ExecuteOrImportScript exec module_code в script_module. dict Файл "C: \ Users \ siddjain \ рабочей \ rfad \ SRC \ main.py", строка 1, в import pydevd ImportError: Нет модуля с именем pydevd

моя конфигурация отладки для проекта gae такая: enter image description here

пример проекта pydev, в котором он работает, выглядит следующим образом, и я следую той же схеме в моем проекте gae:

import pydevd

def f(x,y):
    z = y/x;
    return z;

def main():
    pydevd.set_pm_excepthook()
    print f(0,0)

if __name__ == '__main__': 
    main()

конфигурация запуска для тестового проекта выглядит следующим образом: enter image description here

модуль pydevd.py находится в C: \ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc. Хотя этот путь не включен в pythonpath для тестового проекта, взлом работает в тесте. я также попытался включить этот путь в pythonpath проекта gae, чтобы увидеть, если это решит мою проблему, но это не

1 Ответ

1 голос
/ 23 апреля 2011

Это все еще не исправлено, хотя следующие шаги избавили от модуля с именем pydevd error:
1. Создайте символическую ссылку на C: \ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc:
src> mklink / d отладчик C: \ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc
2. Поместите пустой файл __init__.py в C: \ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc.я узнал об этом по какой-то ссылке Google, которую сейчас не могу найти.
3. В исходном коде:
import debugger.pydevd as pydevd

после этих шагов он может импортировать pydevd, но все жене разбивается на неисследованное исключение.Сервер разработки запускает ваше приложение на локальном компьютере для тестирования приложения.Сервер имитирует хранилище данных, службы и ограничения App Engine (отсюда шаг 1).хотя я не понимаю, почему мы должны импортировать pydevd, поскольку его pydevd запускает наше приложение в первую очередь!
На вкладке Run-> Debug Configurations-> Interpreter, если я нажму "увидеть результирующую командную строку ...""
C: \ Python25 \ python.exe -u C: \ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc \ pydevd.py --vm_type python - клиент 127.0.0.1 -порт 0 - файл "c: \ program files \ google \ google_appengine \ dev_appserver.py"

Будет использоваться PYTHONPATH:

C: \ eclipse \ plugins \ org.python.pydev_2.0.0.2011040403 \ PySrc \ pydev_si ...

...