파이썬을 환경별로 패키지화 하면서 문제가 발생했다.
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()
'장고 > 기타 설정 방법' 카테고리의 다른 글
return 할 때 render & redirect 의 차이 (0) | 2019.02.17 |
---|---|
(문서 번역)정적 파일 관리 (0) | 2019.02.02 |
SECRET KEY 를 json 으로 따로 관리 (0) | 2018.12.25 |
Media Root 설정하기 (0) | 2018.12.13 |