2013-03-26 115 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__) 

蟒蛇时发现该模块,运行这段代码将其注册为一个命名空间。

相关问题