ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Django] runserver 실행 시 ModuleNotFoundError: No module named '{project_name}'
    Backend/Projects_report 2023. 11. 23. 16:01

    [요약]

    Project 를 다시 생성하여 해결 봄. Project 초기 단계였으므로 가능했던 해결 법..

     

    [환경]

    Ubuntu 22.04

    Python 3.8

        Virtualenv, Virtuelenvwrapper, Django

    PyCharm

    Git

     

    [프로젝트 구조]

    ~/{project_name}/

        ㄴ config/

            ㄴ settings.py

            ㄴ ......

        ㄴ manage.py

     

    [발생]

    python manage.py runserver 입력하자 다음의 Error 발생.

    Traceback (most recent call last): File "~/venvs/{project_name}/lib/python3.8/site-packages/django/core/management/base.py", line 412, in run_from_argv self.execute(*args, **cmd_options) File "~/venvs/{project_name}/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 74, in execute super().execute(*args, **options) 

    ...(생략)...

    ModuleNotFoundError: No module named '{project_name}'
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
    File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) 

    ...(생략)...

    ModuleNotFoundError: No module named '{project_name}'

     

    [원인]

    프로젝트 생성 시 사용했던 명령어: django-admin startproject ./ 

    ->  {project_name}/{project_name}/settings.py 와 같은 구조로 생성됨. 

    프로젝트 이름이 겹치는 것이 마음에 안들어 하위 폴더의 이름을 project_name -> config 로 수동 변경함.

    위 행동으로 인해 Django Project 생성 시 설정 파일들에 자동으로 입력되는 settings.py 의 경로('{project_name}.settings') 와 실제 settings.py의 경로('config.settings') 가 불일치하여 runserver 동작이 제대로 실행될 수 없었던 것.

     

    [해결]

    Django Project 내부 사정을 다 알 수 없었으므로 경로나 기타 설정을 일일이 변경하는 것은 불가능하다고 판단하여 Project를 다시 생성하여 문제를 해결했다.

    댓글

Designed by Tistory.