본문으로 바로가기

django.setup() 에러 발생

category 장고/기타 설정 방법 2019. 6. 10. 18:35

파이썬을 환경별로 패키지화 하면서 문제가 발생했다.

 

ModuleNotFoundError: No module named 'config'

 

문제의 원인

  • django.setup()을 하는데 패키지의 경로를 알지 못하는 상태
    • 로컬 환경 하나일 때는 문제가 발생하지 않았음
import os

from django.core.files import File

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

import django
django.setup()

# 크롤링 코드
...
...

 

문제 해결

  • 맨 처음에는 내 로컬에서 home 부터 모든 경로를 다 적어주었다.
    • sys.path.append("home/project/crawling/app/")
  • 아래와 같이 os.path.dirname() 을 사용하여 경로를 입력하니 local 에서는 크롤링이 정상 작동
import os
import sys
from django.core.files import File

sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)) + '/app')))

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.local.settings')

import django
django.setup()