기존에 PyCharm 환경에서 개발 중인 Django 프로젝트의 구조를 바꾸니 가상환경을 인식하지 못하는 이슈가 발생했다. 결국 문제를 해결했다. 하지만 그 과정 중에 IntelliJ에서 Django 프로젝트를 실행하는 방법을 공부해 보았고, 그 과정을 글로 정리해 보았다.
우선 Django 프로젝트를 Intellij와 PyCharm 중 어떤 IDE를 활용하여 개발하는 것이 낫다기보다 장단점을 비교하여 개발자의 취향에 맞게 선택하는 것이 맞아 보인다. 아래는 GPT-4의 두 IDE에 대한 비교이다. 또한 JetBrains코리아의 블로그 링크를 통해 비교 내용을 확인할 수 있다.
PyCharm
- Python 전문: PyCharm은 Python 개발에 최적화되어 있습니다.
- Django 지원: PyCharm Professional Edition은 Django 템플릿 디버깅, 특정 Django 프로젝트 설정 등 Python 웹 프레임워크에 대한 전문적인 지원을 제공합니다.
- 가상 환경 관리: PyCharm은 가상 환경 설정과 관리를 쉽게 할 수 있게 해줍니다.
- 커뮤니티 버전과 프로페셔널 버전: Django와 같은 고급 기능은 프로페셔널 버전에서만 제공되며, 커뮤니티 버전은 무료이지만 기능이 제한적입니다.
IntelliJ IDEA- 다중 언어 지원: IntelliJ IDEA는 Python을 포함한 다양한 언어에 대한 개발을 지원합니다.
- 플러그인을 통한 확장: IntelliJ IDEA Community Edition은 기본적으로 Python이나 Django를 지원하지 않지만, JetBrains의 Python 플러그인을 설치하여 사용할 수 있습니다. 그러나 이 플러그인은 PyCharm의 프로페셔널 에디션만큼의 기능을 제공하지 않을 수 있습니다.
- 강력한 기능: IntelliJ IDEA는 Java 개발에 필요한 매우 강력한 기능을 많이 가지고 있으며, 다른 JetBrains IDE와 같은 기능을 대부분 지원합니다.
우선 IntelliJ에서 Python을 사용하기 위해선 플러그인 설치가 필요하다. File > Settings > Plugins 에서 Python을 검색 후 install하면 된다. 만약 이미 플러그인 설치가 돼있다면 해당 단계를 넘어가도 무방하다.
플러그인을 설치했다면 SDK를 추가해야 IDE에서 Python을 정상적으로 사용할 수 있다. SDK 추가는 File > Project Structure > Platform Settings 아래의 SDKs 탭에서 진행할 수 있다. 플러그인을 정상적으로 설치했다면, 아래와 같이 Python SDK를 추가할 수 있는 항목이 보일 것이다.
참고로 SDK(Software Development Kit)란 통합 개발 환경(IDE)에서 개발에 필요한 라이브러리, 런타임 환경 및 특정 언어의 사용을 지원하는 도구이다.
필자는 이미 존재하는 가상환경을 interpreter로 선택했다. 만약 새로운 가상환경 생성을 원하면 New environment를 선택 후 진행하면 된다. 선택한 가상환경에 존재하는 python.exe를 찾아서 interpreter로 선택 후 적용한다. (Window: 가상환경 명/Scripts/python.exe, Mac: 가상환경 명/bin/python.exe)
Facets 설정은 File > Project Structure > Project Settings 아래의 Facets 탭에서 진행한다. 아래와 같이 설정 항목을 채우면 된다. 참고로 필자는 settings.py를 개발 환경에 따라 분리했기 때문에 아래와 같이 작성했다. 개발 환경을 분리하지 않고 진행했다면 Settings 항목에서는 settings.py의 경로를 선택하면 된다.
프로젝트 실행 설정을 하기 위해 Run > Edit Configurations 에서 설정창을 연다.
좌측 상단의 + 버튼을 통해 Django Server 실행 설정을 추가할 수 있다. 만약 필자와 같이 개발 환경을 분리해서 진행했다면 Environment variables에 DJANGO_SETTINGS_MODULE=config.settings.local
와 같은 변수를 추가한다. 그리고 Python interpreter로 윗 단계에서 추가한 SDK를 선택한다.
윗 단계를 모두 정상적으로 진행했다면 Run을 했을 때 아래와 같은 실행 화면을 볼 수 있다.