Вопрос

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

Это было полезно?

Решение

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

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

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

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

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

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

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

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

Другие советы

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

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

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

В Linux это, вероятно, будет /usr/bin/paster или /usr/local/bin/paster для сценария вставки, а для аргументов у меня есть:обслуживать ${workspace_loc}${project_path}/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}

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

- и не забудьте установить точку останова, прежде чем пытаться.

На самом деле это не отвечает на вопрос о том, как это сделать в eclipse.Но я отлаживал сервер Paster с помощью winpdb, который представляет собой довольно хороший графический отладчик Python (вы можете установить его с помощью easy_install winpdb).

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

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

И нажмите кнопку «Выполнить».

Как сказал Уэйн, необходимо нет используйте опцию --reload.По крайней мере, я не смог найти, как подключиться к реальному веб-приложению даже при выборе, в какой отладчик разветвленного процесса должен войти (вход в разные процессы можно контролировать с помощью команд отладчика «родительский разветвление» и «дочерний разветвление»).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top