Python Import 에러의 대부분은 실제로 import 문이 정상인지, 또 PYTHONPATH 가 python 설치 디렉토리를 잘 가리키고 있는지 확인하면 해결된다.
하지만 종종 위의 두 가지 원인 외에도 문제가 발생할 수 있는데, 그것은 import 순서문제이다.
* import 순서 문제
django를 위한 wsgi 예제가 아래와 같은데, (https://docs.djangoproject.com/en/1.1/howto/deployment/modwsgi/)
import os
import sys
sys.path.append('/usr/local/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
예제처럼 sys.path.append 를 이용하면 우리가 작성한 장고프로그램의 path를 sys.path의 가장 마지막에 추가한다. 따라서 간혹 sys.path에 문제가 있을 경우 장고 프로그램은 정상적으로 import하지 못하는 경우가 있다.
따라서 sys.path.append 대신 sys.path.insert(0, '/usr/local/django') 를 이용하여 가장 처음에 추가하도록 하면, import error를 해결할 수 있다.
'Python' 카테고리의 다른 글
[박혜웅] "cannot import name bar" in Python (0) | 2012.09.03 |
---|---|
[박혜웅] Pydev Error "Undefined variable from import: __doc__ ~~~" (0) | 2012.07.25 |