0
0 комментариев

Моя задача запустить под отладчиком проект на Django в PyСharm.

Условия.

  • Ubuntu 13.04, python 2.7
  • Я запускаю IDE от своего пользователя (к примеру, niсk).
  • Для обращения к базе данных используется Postgres пользователь www-data.
  • При запросе странички скрипт выполняется от пользователя www-data, затем идет запрос к базе.

Для того, чтобы все работало я запускаю приложение используя след. команду:

sudo -u www-data  python manage.py runserver test_domain.ru:8000

Посмотрев настройки PyCharm я не нашел опцию для того, чтобы задать от какого пользователя необходимо запустить скрипт. Как следствие появляется ошибка (так как PyCharm запущен от пользователя nick, а запрос обрабатывается от www-data):

OperationalError: FATAL: Peer authentication failed for user «www-data»

Решил попробовать в обход — использовать удаленную отладку — запустить на локальном ПК скрипт от нужного пользователя и приотачиться к нем PyCharm’ом (опять же, не нашел типичной для VS опции «присоединиться к процессу»). Настройку делал в соответствии с руководством http://blog.jetbrains.com/pycharm/2010/12/python-remote-debug-with-pycharm/

Во время запуска выдает следующею ошибку:

Traceback (most recent call last):
  File "/home/engine/manage_debug.py", line 17, in <module>
    from pydev import pydevd
ImportError: No module named pydev

Я выставил PYTHONPATH, установил pycharm-debug.egg (easy_install pycharm-debug.egg), импортирую пути sys.path.append('/development/ide/pycharm-2.7.3/pycharm-debug.egg'), но ничего не помогает.

Пожалуйста, подскажите, как поправить ошибку импорта, а также каким способом задать пользователя, от которого запуск будет запускаться manage.py?

PS Был бы рад ответу от @crazycoder.

Обновление

На рабочем сервере проект работает через mod_wsgi + apache, а это означает, как я понимаю, что скрипт будет выполняться от пользователя www-data.


Добавить комментарий