簡體   English   中英

導入錯誤:沒有名為http django的模塊

[英]Import Error: No module named http django

我的wsgi.py文件中發生錯誤。 它抱怨:

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 / site-packages / Django-1.5 py2.7.egg / django /中。 同樣,在導入django.core時也沒有問題,但是在導入任何其他模塊時,也會出現相同的錯誤。 以下是(目錄)/。local / lib / python2.7 / site-packages / 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目錄中的模塊?

您可以將本地django文件夾轉換為名稱空間。 這告訴python解釋器繼續遍歷模塊的路徑,即使它較早找到匹配的模塊(即您添加的“ django”模塊)也是如此。

將此添加到本地django文件夾中的__init__.py中:

import pkg_resources
pkg_resources.declare_namespace(__name__)

當python找到此模塊時,它將運行此代碼以將其注冊為名稱空間。

您需要設置PYTHONPATH環境變量以指向您的本地模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM