2012-08-13 58 views
5

我跑的Django +的nginx + uwsgi。出於某種原因,我無法啓動uWSGI而沒有設置主頁選項,指向虛擬環境。每當我開始uWSGI沒有它,它說,它無法找到模塊django.core.wsgi,就像如果蟒蛇路徑是空的(不過在Django 1.4安裝系統範圍內)。無法啓動uWSGI服務器(導入錯誤)

我該如何解決?

+1

這沒有什麼錯。您需要使用'home'選項來指定安裝django的虛擬環境。否則,uwsgi將在沒有安裝django的系統級別上運行。看看[uwsgi示例](http://projects.unbit.it/uwsgi/wiki/VirtualEnv)。 – 2012-08-13 10:58:22

+1

@ TimmyO'Mahony如果你仔細看看我的問題,你可以看到,我提到django是安裝在「系統範圍內」的。 – DataGreed 2012-08-13 13:53:58

+0

我會編輯它以使其更清晰 – DataGreed 2012-08-13 13:54:24

回答

15

自從我打我的這個問題太頭,讓我們寫的所有的答案。 :) 的問題是,在帝模式開始(系統寬)的情況下,主uwsgi過程不能(或不會)加載蟒(PYTHONPATH)正確ENVIRON。 使用virtualenv指定環境。 沒有它,你需要設置pythonpath變量,甚至多次指向全系統的Python路徑。

只是作爲一個例子,我的系統是:

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

(使用INI語法)

+0

我在MacOS系統中遇到這個錯誤,但在具有相同配置文件的centos6中沒有遇到此錯誤。在配置文件中添加'virtualenv'後修復它。你能解釋這種情況嗎?運行命令是'/ path_to_venv/bin/uwsgi -y uwsgi.conf' – 2017-09-20 06:37:03

+0

@SiminJie對不起,我不使用MacOS。我不會將它用作服務器。 – 2017-09-20 08:08:24