首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入错误:没有名为http django的模块

导入错误:没有名为http django的模块
EN

Stack Overflow用户
提问于 2013-03-27 00:13:40
回答 2查看 3.3K关注 0票数 2

我的wsgi.py文件中出现错误。它抱怨说:

代码语言:javascript
复制
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

我检查了(directory)/.local/lib/python2.7/site-packages/Django-1.5 py2.egg/django/中是否存在http目录。此外,当导入django.core时,没有问题,但是当导入任何其他模块时,它会给出相同的错误。以下是(directory)/.local/lib/python2.7/site-packages/Django-1.5 py2.7.egg/django/的目录信息:

代码语言:javascript
复制
django:
    bin  conf  contrib  core  db  dispatch  forms  http  __init__.py  __init__.pyc  middleware  shortcuts  template  templatetags  test  utils  views

下面是http的目录信息:

代码语言:javascript
复制
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中给出的错误:

代码语言:javascript
复制
>>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目录中的模块?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-27 02:04:58

您可以将本地django文件夹转换为名称空间。这会告诉python解释器继续遍历模块的路径,即使它之前找到了匹配的模块(即您添加的“django”模块)。

将此代码添加到本地django文件夹中的__init__.py中:

代码语言:javascript
复制
import pkg_resources
pkg_resources.declare_namespace(__name__)

当python找到此模块时,它会运行此代码将其注册为名称空间。

票数 1
EN

Stack Overflow用户

发布于 2013-03-27 02:01:52

您需要将PYTHONPATH环境变量设置为指向本地模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15642004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档