2022-07-27 20:55:03

안녕하세요. 비스카이비전입니다. 저는 파이썬 가상환경 라이브러리 중에 virtualenv를 사용하고 있습니다. venv와 virtualenv 중에 저는 virtualenv가 더 좋더라고요. 그 둘에 대한 비교는 예전에 작성한 글을 참고해주십시오.

 

- [python] 가상환경 virtualenv 사용 방법 (venv와 비교)

 

그런데 cmd에서는 문제 없이 virtualenv 가상환경을 생성하고 활성하는 것이 가능한데, powershell에서는 동일한 방식으로 했을 때 다음과 같은 오류가 난다는 것을 확인했습니다. 

 

call : 'call' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바
른지 검증한 다음 다시 시도하십시오.
위치 줄:1 문자:1
+ call .venv/Scripts/activate
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (call:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

 

 

cmd에서 가상환경 활성화

우선 cmd에서 가상환경을 활성화할 때는 다음 명령을 실행하면 됩니다. 

 

call .venv/Scripts/activate

 

물론 사전에 virtualenv 라이브러리도 설치하고, .venv라는 이름으로 가상환경도 생성해줘야 합니다.

 

pip install virtualenv
virtualenv .venv

 

powershell에서 가상환경 활성화

반면 powershell을 사용하는 경우에는 가상환경 활성화 명령을 실행하기 전에 먼저 다음 명령을 실행해줘야 합니다. 

 

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

 

그 다음에 cmd에서 가상환경을 활성화할 때 주었던 명령에서 앞에 call을 뺀 명령을 실행하면 정상적으로 가상환경이 활성화됩니다. 

 

.venv/Scripts/activate

 

 

앞에 (.venv)가 붙었으면 제대로 가상환경이 활성화된 것입니다. 

 

관련 글

- [python] 파이참 venv 가상환경 만들고 간단한 예제 코드 실행하기 (window 10)