Назад | Перейти на главную страницу

Nginx и uWSGI: ImportError: нет модуля с именем site

Я получаю сообщение об ошибке: ImportError: No module named site согласно моему журналу uWSGI.

test_proj.ini:

[uwsgi]
chdir = /home/%n/app
module = %n.wsgi
home = /home/%n/app/venv
master = true
processes = 10
chmod-socket = 664
socket = /home/%n/uwsgi/socket
daemonize = /home/%n/uwsgi/log
pidfile = /home/%n/uwsgi/pid

nginx:

server {
        listen 8888;
        server_name 192.168.88.187;

        # Set up django static file serving
        location /static {
                alias /home/test_proj/app/static/;
        }

        # pass all non-static request to uWSGI
        location / {
                uwsgi_pass unix:///home/test_proj/uwsgi/socket;
                include uwsgi_params;
        }
}

замораживание пипса:

Django==1.7.1
django-braces==1.4.0
django-cors-headers==0.13
django-dynamic-settings==1.1.0
django-oauth-toolkit==0.7.2
django-uuidfield==0.5.0
djangorestframework==3.0.0
oauthlib==0.7.2
psycopg2==2.5.4
six==1.8.0

У меня также установлен глобально uWSGI. Я что-то упускаю в ini файл или это из-за моих настроек nginx? Я пробовал разные комбинации ini файл.

Я также пробовал добавить no-site = true внутри ini но я узнал, что его нельзя добавлять в ini файл, даже если он устраняет ошибку и вызывает другую ошибку.

Я тоже следил за этим руководство но все равно не повезло.

Спасибо.

Причина, по которой он не работал, в том, что я установил uwsgi используя обычный pip команда. Поскольку у меня на машине установлены Python 2 и 3, мне нужно установить uwsgi с помощью pip3.

Команда, которую я выполнил: pip3 install uwsgi

Если вы используете venv, запустите uwsgi, используя полный путь uwsgi, где он находится внутри venv, например /usr/venv/bin/uwsgi. По умолчанию uwsgi может находиться где-то еще.

Пытаться which uwsgi чтобы найти его.

Причина, по которой вы получаете эту ошибку, заключается в том, что модули (сайт, операционная система и т. Д.) Не могут быть найдены в виртуальной среде, указанной в директиве home. Использование правильной версии pip, возможно, сработало для вас, но только потому, что оно устраняет вашу проблему с virtualenv.