Подтвердить что ты не робот

Приложение Debug Pylons через Eclipse

У меня есть настройка Eclipse с PyDev и я люблю отлаживать свои скрипты/приложения. Я только начал играть с Pylons и задавался вопросом, есть ли способ запустить сервер Paster через Eclipse, чтобы я мог отлаживать мой webapp?

4b9b3361

Ответ 1

Создайте новую конфигурацию запуска (Python Run)

Основная вкладка

Используйте paster- script.py в качестве основного модуля (его можно найти в подкаталоге Scripts в каталоге установки python)

Не забудьте добавить корневую папку вашего приложения в зону PYTHONPATH

Аргументы Также установите базовый каталог в корневую папку.

В качестве аргументов программы используйте "serve development.ini" (или все, что вы используете для отладки вашего приложения)

Общая вкладка

Проверить выделение консоли и запуск в фоновом режиме

Ответ 2

Если вы не хотите включать свою установку 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"])

Ответ 3

yanjost имеет это право, просто хотел добавить, что вам нужно убедиться, что вы не используете параметр --reload, это предотвратит правильное подключение отладчика и приведет к тому, что ваши контрольные точки не будут работать. Просто маленькая вещь, с которой я столкнулся.

Ответ 4

Мне удалось получить - reload work, изменив "Рабочий каталог" на вкладке "Параметры", чтобы не использовать по умолчанию (т.е. выберите "Другое" → Файловая система → "Корень вашего Pylons", где development.ini сохраняется.

Ответ 5

В Linux, который, вероятно, будет /usr/bin/paster или/usr/local/bin/paster для вставки script, а для аргументов у меня есть: serve ${workspace_loc} ${project_path}/development.ini

Ответ 6

Я также получил эту работу (наконец). Я использовал buildout вместо virtualenv для установки пилонов (инструкции: http://wiki.pylonshq.com/display/pylonscommunity/Howto+install+Pylons+with+buildout), поэтому приведенные выше инструкции нужно немного изменить до тех пор, пока пути идут.

-for "Основной модуль", я использую:

${workspace_loc:myeclipseprojectname/bin/paster}

(добавление - регрессивные точки останова не работают для меня, и я проверил это пару раз)

-for "Аргументы программы", я использую:

serve ${workspace_loc:myeclipseprojectname/mypylonsprojectname/development.ini}

-for "Рабочий каталог, другое:", я использую:

${workspace_loc:myeclipseprojectname/mypylonsprojectname}

- упомянутый выше, в "Общая вкладка", "Проверить выделение консоли и запуск в фоновом режиме"

- и не забудьте установить контрольную точку перед попыткой.

Ответ 7

Это не отвечает на вопрос о том, как это сделать в eclipse. Но я отлаживал paster-сервер с winpdb, что довольно неплохое графическое отладчик python (вы можете установить его с помощью win_db.exe).

Просто запустите свой сервер, например:

winpdb /usr/local/bin/paster serve development.ini

И нажмите кнопку запуска.

Как сказал wayne, необходимо не использовать параметр --reload. По крайней мере, я не смог найти, как подключаться к фактическому веб-приложению даже при выборе того, к какому приложению следует отлаживать отладчик процесса (ввод различных процессов может контролироваться командами отладчика "fork parent" и "fork child" ).