Задать вопрос
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.

Джанго 1.8 Uwsgi — ImportError: No module named site. Пути проверил, указал. Что делать?

uwsgi установлен глобально.

работаю из виртуального окружения с именем venv

Создаю для запуска uwsgi

[uwsgi]
socket = /home/dbag/dbs/dbs.sock
virtualenv = /home/dbag/venv/
chdir = /home/dbag/dbs/mtest
master = True
workers = 8
module = mtest.wsgi:application
plugins = python34, python3
uid = www-data
gid = www-data
chmod-socket = 777
pythonpath = /home/dbag/venv/
pythonpath = /home/dbag/venv/lib/python3.4
pythonpath = /home/dbag/venv/lib/python3.4/site-packages

запускаю

(venv)dbag@work:~/dbs$ uwsgi --ini /home/dbag/dbs/1.conf

получаю:

current working directory: /home/dbag/dbs
detected binary path: /usr/local/bin/uwsgi
chdir() to /home/dbag/dbs/mtest

your processes number limit is 1868
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /home/dbag/dbs/dbs.sock fd 3

Python version: 2.7.9 (default, Apr 2 2015, 15:37:21) [GCC 4.9.2]
Set PythonHome to /home/dbag/venv/

Вижу ошибку.
ImportError: No module named site

Проверяю пути к библиотекам:
(venv)dbag@work:~/dbs$ python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"
/home/dbag/venv/lib/python3.4/site-packages
И это совпадает с тем, что у меня написано!

Проверяю версию джанго:
(venv)dbag@work:~/dbs$ python -c "import django; print (django.VERSION);"
(1, 8, 4, 'final', 0)

Ничего не понимаю. :( Смущает еще версия питона: Python version: 2.7.9, при том, что если просто его запустить:
(venv)dbag@work:~/dbs$ python
Python 3.4.3 (default, Mar 26 2015, 22:03:40)

Пересоздавать окружение venv пробовал. Система ubuntu 15.04
  • Вопрос задан
  • 1052 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@art_karetnikov Автор вопроса
Лучший мой проект: Мобильный банк Сбербанка РФ.
Сам себе отвечаю, чтобы на эти грабли больше никто не наступил. Основная проблема - это то, что uwsgi не понимает конфиг в виде *.conf. Ему надо либо *.ini, либо xml
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
[dbag]
chdir = /home/dbag/dbs/mtest
virtualenv = /home/dbag/venv/

socket = /home/dbag/dbs/dbs.sock

vacuum=True

max-requests=10000
harakiri=60

daemonize=/home/dbag/dbs/uwsgi.log

master = True
workers = 8
module = mtest.wsgi:application
uid = dbag
gid = dbag
chmod-socket = 600
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы