我正在运行django + nginx + uwsgi。出于某种原因,我无法在没有设置home选项的情况下启动uWSGI,指向虚拟环境。每当我在没有它的情况下启动uWSGI时,它就说它找不到模块django.core.wsgi,就好像python路径是空的(但是系统范围内安装了django 1.4)。
我该如何解决?
答案 0 :(得分:16)
由于我也在解决这个问题,让我们为所有人写一个答案。 :)
问题是,当以emperor模式(系统范围)启动时,uwsgi主进程不能(或不会)为python(PYTHONPATH)加载正确的环境。
使用virtualenv指定环境。
没有它,你需要设置pythonpath
变量,甚至多次指向系统范围的python路径。
举个例子,我的系统是:
pythonpath = /usr/local/lib/python2.7/dist-packages
pythonpath = /usr/lib/python2.7
(使用ini语法)