상황
Vscode에서 가상 환경을 키려 아래의 명령어를 사용했다.
python -m venv venv
venv 파일이 만들어진 것을 확인했고, 가상 환경을 본격적으로 실행하려 아래의 명령어를 사용.
(powershell 환경이라 git bash환경에서 사용하는 source venv/Scripts/activate와는 조금 다르다.)
source venv/Scripts/Activate.ps1
그렇지만 가상환경은 켜지지 않았고, 아래의 에러를 볼 수 있었다. (powershell 환경에서 가상 환경 키려 했을 때)
source : 'source' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로 가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + source venv/Scripts/Activate.ps1 + ~~~~~~ + CategoryInfo : ObjectNotFound: (sourc e:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExcepti on
혹은 아래의 에러를 볼 수 있다. (command prompt환경에서 가상환경을 키려 하였을 때)
'source'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
[참고] prompt(프롬프트)란?
텍스트 기반의 환경에서, 각종 명령어를 입력하는 곳.
"prompt" 또는 "command prompt"라고 한다.
해결
해당 에러는 현재 사용중인 powershell이 아닌 git bash를 사용해주면 해결된다.
즉, source는 bash의 내부 명령어기 때문에 잘 동작하지 않았다는 것을 알게 되었다.
[참고] 터미널별 가상환경 활성화 명령어
사실 위의 설명이 정확한건 아니다.
왜냐하면 각 터미널별로 어떻게 가상 환경을 열어야 하는지를 살펴보면 모두 source명령어를 포함하고 있기 때문이다.
- Git Bash
$ source [가상환경이름]\\Scripts\\activate - CMD
$ source [가상 환경 이름]\\Scripts\\activate.bat - PowerShell
$ source [가상 환경 이름]\\Scripts\\Activate.ps1 - macOS
$ source [가상 환경 이름]/bin/activate
음 그래서 일단은 source명령어가 잘 먹히지 않을 땐 bash 환경에서 다시 시도해보자 라고 기억해두려 한다.
아마 settings.json에서 세팅환경을 잘 맞추면 각 터미널 환경에서도 잘 작동하리라 예상한다.
근데 지금은 시간이 없으니 패스 😂
결과
'# 2. Web > Django' 카테고리의 다른 글
Python 가상환경 Venv 설정 (0) | 2021.10.15 |
---|---|
Django # .gitignore이란? & 등록해줘야 하는 파일 (0) | 2021.05.25 |
Django # Accounts & auth 인증 & 로그인/로그아웃 & 회원가입/탈퇴 & 비밀번호 변경 (0) | 2021.04.22 |
Django # Static files & Media 이미지 업로드 (0) | 2021.04.22 |
Django # Form과 ModelForm 핵심 차이점 & Widgets & Allowed HTTP methods (0) | 2021.04.22 |