2013-03-26 142 views
2

我在我的wsgi.py文件中發生錯誤。它抱怨說:導入錯誤:沒有名爲http的模塊django

File "(directory)/.local/lib/python2.7/site-packages/Django-1.5 py2.7.egg/django/core/handlers/wsgi.py", line 9, in <module> 
    from django import http 
ImportError: cannot import name http 

我檢查了目錄中的HTTP存在(目錄)/ local/lib目錄/ python2.7 /站點包/ Django的1.5 py2.7.egg/Django的/。另外,在導入django.core時,沒有問題,但是當導入任何其他模塊時,它會給出相同的錯誤。這裏是(目錄)/ local/lib目錄/ python2.7 /站點包/ Django的1.5 py2.7.egg/Django的目錄信息/:

django: 
    bin conf contrib core db dispatch forms http __init__.py __init__.pyc middleware shortcuts template templatetags test utils views 

這裏是爲HTTP的目錄信息:

http: 
    cookie.py cookie.pyc __init__.py __init__.pyc multipartparser.py multipartparser.pyc request.py request.pyc response.py response.pyc utils.py utils.pyc 

編輯:在Python Shell給出

錯誤:

>>from django import http 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: cannot import name http 

>>from django import core 
>> 

錯誤被刪除本地迪解決教區長也叫django。但是,本地目錄已存在,因爲我將我的網站放在共享服務器上,我無法編輯網站包。有沒有辦法讓應用程序從我的本地和服務器的django文件夾中讀取這兩個文件夾,以便我可以使用不在服務器的django目錄中的模塊?

+0

你有一個本地目錄也稱爲django嗎? – 2013-03-26 16:18:56

+1

打開命令提示符/終端類型> Python>然後嘗試執行導入 – 2013-03-26 16:20:48

+0

我可能有另一個名爲django的本地目錄。我怎麼去檢查這個?鍵入導入的命令提示符會導致相同的錯誤,但是從django導入核心進行輸入不會導致錯誤。具體的錯誤在上面編輯。 – user11235 2013-03-26 16:26:10

回答

1

您可以將您的本地django文件夾變成一個名稱空間。這會告訴python解釋器繼續遍歷模塊的路徑,即使它之前找到了匹配模塊(即,您添加的'django'模塊)。

這在當地的Django文件夾添加到__init__.py:

import pkg_resources 
pkg_resources.declare_namespace(__name__) 

蟒蛇時發現該模塊,運行這段代碼將其註冊爲一個命名空間。

相關問題