所以這似乎是這個設置的一個真正常見的問題,但我找不到任何解決方案在SO上工作。我已經安裝了一個非常新的Ubuntu 15.04服務器,然後安裝了nginx,virtualenv(和-wrapper)和uWSGI(通過apt-get,所以在全球範圍內,不在virtualenv中)。uWSGI + virtualenv'No module named site'
我的virtualenv位於/root/Env/example
。裏面的virtualenv,我安裝的Django,然後在/ SRV /網絡/例子/應用程序運行與項目名稱example
Django的startproject
命令,所以我有隱約這種結構:
-root
-Env
-example
-bin
-lib
-srv
-www
-example
-app
-example
manage.py
-example
wsgi.py
...
我對uWSGI example.ini文件看起來是這樣的:
[uwsgi]
project = example
plugin = python
chdir = /srv/www/example/app/example
home = /root/Env/example
module = example.wsgi:application
master = true
processes = 5
socket = /run/uwsgi/app/example/example.socket
chmod-socket = 664
uid = www-data
gid = www-data
vacuum = true
但無論我是否通過uwsgi --ini /etc/uwsgi/apps-enabled/example.ini
或通過後臺程序運行它,我得到確切的同樣的錯誤:
Python version: 2.7.9 (default, Apr 2 2015, 15:37:21) [GCC 4.9.2]
Set PythonHome to /root/Env/example
ImportError: No module named site
我應該注意到,Django項目通過內置的開發服務器./manage.py runserver
工作,並且當我刪除home = /root/Env/example
時,這個東西可以工作(但顯然使用全局Python和Django而不是virtualenv版本,這意味着它對於一個適當的virtualenv設置)。
任何人都可以看到一些明顯的路徑錯誤,我沒有看到?據我所知,home
是完全正確的,基於我的目錄結構以及ini中的其他所有內容,那麼爲什麼它不適用於此ImportError?
是否已解決? –