





Создайте новую конфигурацию запуска (Python Run)
Главная вкладка
Используйте paster-script.py в качестве основного модуля (вы можете найти его в подкаталоге Scripts в каталоге установки python)
Не забудьте добавить корневую папку вашего приложения в зону PYTHONPATH
Аргументы Также установите базовый каталог в корневую папку.
В качестве аргументов программы используйте "serve development.ini" (или все, что вы используете для отладки приложения).
Общая вкладка
Отметьте выделить консоль и запустить в фоновом режиме
yanjost прав, просто хотел добавить, что вам нужно убедиться, что вы не используете параметр --reload, это предотвратит правильное подключение отладчика и приведет к тому, что ваши точки останова не будут работать. Просто мелочь, с которой я столкнулся.
В Linux это, вероятно, будет / usr / bin / paster или / usr / local / bin / paster для скрипта вставки, а для аргументов, которые у меня есть: serve $ {workspace_loc} $ {project_path} /development.ini
Мне удалось заставить работать --reload, изменив «Рабочий каталог» на вкладке аргументов, чтобы не использовать значение по умолчанию (т.е. выберите «Другое» -> Файловая система -> «Корень вашего приложения Pylons», в котором хранится development.ini.
Я тоже получил эту работу (наконец). Я использовал buildout вместо virtualenv для установки пилонов (инструкции по адресу: http://wiki.pylonshq.com/display/pylonscommunity/Howto+install+Pylons+with+buildout), поэтому приведенные выше инструкции нужно было немного изменить по мере продвижения.
-для «Основного модуля» я использую:
${workspace_loc:myeclipseprojectname/bin/paster}
(добавление --reload сделало точки останова неработающими для меня, и я тестировал это пару раз)
-для "Программных аргументов" я использую:
serve ${workspace_loc:myeclipseprojectname/mypylonsprojectname/development.ini}
-для "Рабочий каталог, Другое:" я использую:
${workspace_loc:myeclipseprojectname/mypylonsprojectname}
-как упоминалось выше, в «Общая вкладка», «Проверить, выделить консоль и запустить в фоновом режиме»
-и не забудьте установить точку останова перед попыткой.
Если вы не хотите включать установку Python в рабочую область вашего проекта, чтобы получить пастер, вы можете создать драйвер на чистом Python, например:
#!/usr/bin/env python
from paste.script.serve import ServeCommand
ServeCommand("serve").run(["development.ini"])
... и запустить / отладить это в Eclipse.
Примечание: это работает без опции --reload, поэтому вы не получаете горячих развертываний (т.е. вам нужно перезагрузить сервер, чтобы увидеть изменения). В качестве альтернативы вы можете добавить опцию --reload для горячего развертывания, но тогда Pydev не остановится на ваших точках останова. Не могу съесть свой торт и съесть его ...
ServeCommand("serve").run(["--reload", "development.ini"])
На самом деле это не отвечает на вопрос о том, как это сделать в eclipse. Но я отлаживал paster-сервер с помощью winpdb, который представляет собой довольно хороший графический отладчик Python (вы можете установить его с помощью easy_install winpdb).
Просто запустите свой сервер, например:
winpdb /usr/local/bin/paster serve development.ini
И нажмите кнопку запуска.
Как сказал Уэйн, необходимо, чтобы нет использовал параметр --reload. По крайней мере, я не смог найти, как подключиться к реальному веб-приложению даже при выборе отладчика разветвленного процесса, который должен входить (вводом различных процессов можно управлять с помощью команд отладчика «родительский элемент» и «дочерний элемент ветвления»).
Я также обнаружил, что в моем случае включение repoze.profile вызывало слишком глубокие рекурсии, когда пастер запускался с winpdb.