본문 바로가기

Python_WEB/Django

[Disqus]장고 3.x 사용 중 migrate 에러 해결 방법

장고 3.x 버전 사용 중 Disqus를 설정 후 migrate를 하는데 아래와 같은 에러가 발생하였다.

 

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "C:\Users\ankiwoong\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked       
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module 
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Django_Dstagram_Tutorial\venv\lib\site-packages\disqus\__init__.py", line 3, in <module>
    from django.utils.six.moves.urllib.parse import urlencode
ModuleNotFoundError: No module named 'django.utils.six'

 

이는 간단하게 수정이 가능하다.

 

에러가 났던 부분을 ctrl를 누른상태에서 클릭하면 오류가 났던 파일로 이동이 가능한데

 

이 상태에서

 

# from django.utils.six.moves.urllib.parse import urlencode
from six.moves.urllib_parse import urlencode
# from django.utils.six.moves.urllib.request import urlopen
from six.moves.urllib_request import urlopen

 

이렇게 수정 하고

 

pip install six

 

를 설치 하고 나서 다시

 

python manage.py migrate

 

를 사용하면 정상적으로

 

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, photo, sessions, sites 
Running migrations:
  Applying sites.0001_initial... OK
  Applying sites.0002_alter_domain_unique... OK

 

migrate를 사용할 수 있다.