关于python:没有virtualenv不能启动uWSGI服务器(ImportError)

Can't start uWSGI server without virtualenv (ImportError)

我正在运行django nginx uwsgi。由于某种原因,如果不设置指向虚拟环境的home选项,我将无法启动uWSGI。每当我在没有它的情况下启动uWSGI时,都会说它找不到模块django.core.wsgi,就像python路径为空(但django 1.4已在系统范围内安装)一样。

我该如何解决?


由于我也对这个问题深有感触,所以让我们为所有人写下一个答案。 :)
问题是,当以皇帝模式(系统范围)启动时,uwsgi主进程无法(或不会)为python(PYTHONPATH)加载正确的环境。
使用virtualenv可以指定环境。
没有它,您需要设置pythonpath变量,甚至多次指向系统范围的python路径。

仅作为示例,对于我的系统是:

1
2
pythonpath = /usr/local/lib/python2.7/dist-packages
pythonpath = /usr/lib/python2.7

(使用ini语法)