Nginx

Nginx & uWSGI: ImportError: No module named site

  • November 15, 2017

我收到一個錯誤: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

您收到此錯誤的原因是在 home 指令中指定的虛擬環境中找不到模組(站點、作業系統等)。使用正確版本的 pip 可能對您有用,但這只是因為它修復了您的 virtualenv 問題。

引用自:https://serverfault.com/questions/649329