Как всегда, грабельки – на сей раз на моём веб-сайте
Моя первая разработка на django – система поиска производителей сетевых адаптеров по MAC-адресам: mac.dil.pp.ru .
А некоторое время назад сайт почему-то перестал работать, выдавал ошибку
uWSGI Error Python application not found
Программа действительно была запущена через uwsgi, посмотрел в его лог, а там дикая ошибка:
Traceback (most recent call last): File "./mac/wsgi.py", line 10, in import os ImportError: No module named os
Потому веб-сервер и не мог прицепиться к этому неазпускающемуся приложению:
unable to load app 0 (mountpoint='') (callable not found or import error) *** no app loaded. going in full dynamic mode ***
Запустил питон в консоли, там import os
нормально работает. Запустил программу через джанговский manage.py runserver – тоже работает, а в uwsgi почему-то нет..
Почти неделю копался, но толком не мог понять, отчего же стандартный питоновый модуль может не импортироваться.
Ну, похоже, что uwsgi пытался использовать старый python 2.6, а он уже проапдейтился до 2.7. Так что грабельки удалось обойти, вписав в uwsgi’шный ini-файл plugin = python27
. Теперь вроде нормально работает.
Оригинал этой записи в личном блоге.