본문 바로가기

Django

Django_오류 : 전역 & 가상 환경 둘 다 장고가 실행이 되는 오류

(가상 환경에서만 django를 사용하기 위해 가상 환경에만 django를 추가)

 

[ 오류 ]

가상 환경에 진입하기 전에 전역에서 django를 실행했을 때, django가 실행되는 오류가 발생하였다.

 

'pip list'를 통해 확인한 결과 Django와 관련 연관된 패키지가 설치되어있다.

 

전역에 설치되어 있는 Django

 

Django 삭제

Django를 전역에서 삭제하였다.

 

Django 실행

재실행 해 본 결과 다음과같이 CommandNotFound가 뜬다. 전역에서 실행했을 때, 정상적인 반응이다.

하지만, 가상 환경 진입 후 장고를 실행했을 때도 CommandNotFound가 뜬다.

이상하다고 느껴 VSC 이외 cmd 창과 powershell로 진행하였다. 그걸로 진행했을 때는 정상적으로 전역에서는 장고가 실행이 안되고 가상 환경에 진입해야 장고가 실행되었다.

 

 


 

 

 

[ 해결 방법 ]

(chatgpt) : 일반적으로 poetry add django를 통해 가상 환경을 만들고 Django를 설치하면, 가상 환경 안에서만 django-admin을 사용할 수 있어야 합니다. 그러나 Visual Studio Code에서 이 문제가 해결되는 이유는 VS Code가 poetry로 관리되는 가상 환경을 자동으로 감지하고, 해당 환경을 사용할 수 있도록 설정되었기 때문입니다.

 

'Ctrl+shift+P' -> 'Python : Select Interpreter' -> Python [version] ('.venv': venv) 외 다른 걸 선택해야 전역에서 가상환경 진입 후 빠져나오는 과정이 가능하다. 

 

 

Python [version] ('.venv': venv)

 Python [version] ('.venv': venv)를 선택하면, 이미 가상 환경에 진입한 상태로 진행을 한다.

가상환경에 진입을 하면, 프롬프트 앞에 (airbnb-clone-backend-py3.13) 이 부분은 가상 환경의 이름을 나타낸다.

* 앞에서 [ 오류 ] 부분은 가상 환경에 진입한 상태인데, 프롬프트 앞에 가상 환경 이름이 나타나지 않았다.

python interpreter를 다른걸로 바꾸고 다시 Python [version] ('.venv': venv)를 선택했을 때는 가상 환경 이름이 위 사진처럼 잘 나타났다.(단순 버그인지 오류인거 같다.)

 

Python [version] (Microsoft Store)

다른 Interpreter 선택 시, 가상 환경에 진입하기 전 전역에서 진행을 한다.

 

 

 

 


 

 

 

 

[ 결과 ]

전역에서 장고 실행 -> 실패

 

 

가상 환경에서 장고 실행 -> 성공