2013-03-26 3 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가 존재하는지 확인 (디렉토리)/lib 디렉토리/지역/python2.7/사이트 패키지/장고 - 1.5 py2.7.egg/장고 /.. 또한 django.core를 가져올 때 아무런 문제가 없지만 다른 모듈을 가져올 때 같은 오류가 발생합니다. .

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

그리고 여기에 HTTP에 대한 디렉토리 정보입니다 : 여기에 (디렉토리)/지방/lib 디렉토리/python2.7/사이트 패키지/장고 - 1.5 py2.7.egg/장고에 대한 디렉토리 정보는 /입니다 :

편집
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 

: 파이썬 쉘에서 주어진

오류 :

>>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라고도하는 로컬 디렉토리가 있습니까? –

+1

명령 프롬프트/터미널 유형> Python>을 열고 가져 오기를 시도하십시오. –

+0

다른 로컬 디렉토리 django가있을 수 있습니다. 이걸 어떻게 확인할까요? 가져 오기에 대한 명령 프롬프트를 입력하면 같은 오류가 발생하지만 django import core에서 입력하면 오류가 발생하지 않습니다. 특히 위의 편집에서 오류가 발생했습니다. – user11235

답변

1

로컬 django 폴더를 네임 스페이스로 바꿀 수 있습니다. 이는 파이썬 인터프리터가 이전에 일치하는 모듈 (즉, 'django'모듈을 추가 한 모듈)을 찾더라도 모듈 경로를 계속해서 탐색하도록 지시합니다.

로컬 장고 폴더에 __init__.py이 추가 :

파이썬이 모듈을 발견
import pkg_resources 
pkg_resources.declare_namespace(__name__) 

, 그것은 네임 스페이스로 등록이 코드를 실행합니다.

0

로컬 모듈을 가리 키도록 PYTHONPATH 환경 변수를 설정해야합니다.

관련 문제