我收到一个错误: ImportError: No module named site根据我的uWSGI日志ImportError: No module named site 。
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文件的不同组合。
我也尝试在ini添加no-site = true ,但是我知道它不应该添加到ini文件中,即使它删除了错误并产生了一个不同的错误。
我也跟着这个教程,但仍然没有运气。
谢谢。
之所以不工作,是因为我使用普通的pip命令安装了uwsgi 。 由于我在机器中同时安装了Python 2和3,我需要使用pip3来安装pip3 。
我跑的命令是: pip3 install uwsgi
你得到这个错误的原因是在home指令中指定的虚拟环境中找不到模块(site,os等)。 使用正确版本的点可能已经为你工作,但只是因为它解决了你的virtualenv问题。
如果你使用的是venv,那么使用它驻留在venv里面的uwsgi的完整path(比如/usr/venv/bin/uwsgi 。 默认的uwsgi可能驻留在别的地方。
尝试which uwsgi来find它。