VS Code 터미널 가상환경 활성화 안됨 파워쉘 스크립트 실행 권한 부여 명령어

브이에스 코드 터미널에서 파이썬 가상환경 활성화 오류로 답답하셨죠. 파워쉘 스크립트 실행 권한 부여 명령어로 1분 만에 에러를 해결하고 쾌적하게 코딩을 시작해 보세요.







파이썬으로 개발을 시작하려고 브이에스 코드를 켰는데 터미널에 시뻘건 에러 메시지가 뜨면 정말 당황스럽더라고요.

분명히 남들이 하라는 대로 가상환경 폴더까지 다 만들었는데 정작 실행이 안 되니까 막막해지는 거 있죠.




저도 처음 파이썬을 독학할 때 이 문제 때문에 반나절을 허비한 기억이 선명하게 남아있어요.

오늘은 이 지긋지긋한 파워쉘 실행 권한 오류를 단번에 해결하는 방법을 공유해 볼게요.

왜 터미널에서 권한 오류가 발생할까?

에러 메시지를 가만히 읽어보면 스크립트 실행이 시스템에서 비활성화되어 있다는 내용이 나오더라고요.

이건 윈도우 기본 터미널인 파워쉘의 깐깐한 보안 정책 때문이에요.

쉽게 말해서 외부에서 들어온 정체불명의 파일이 내 컴퓨터를 망가뜨리지 못하게 막아두는 튼튼한 도어락 같은 기능이라고 생각하면 되더라고요.

문제는 내가 직접 만든 가상환경 실행 파일조차 외부의 위협으로 오해하고 문을 안 열어준다는 점이죠.

과거에 많이 쓰던 일반 명령 프롬프트 창은 이런 제한이 없어서 편하긴 했잖아요.

근데 파워쉘은 마이크로소프트가 보안을 강화하겠다고 기본값을 꽉 막아둔 상태로 출시한 게 분명하더라고요.

(솔직히 개발자 입장에서는 안전해서 좋기보다는 매번 설정해 줘야 하는 귀찮음이 훨씬 크게 다가오는 게 사실이죠)

가장 깔끔하게 권한을 부여하는 명령어

매번 터미널을 열 때마다 에러를 안 보려면 현재 로그인한 사용자에 한해 권한을 조금 열어주는 방법이 제일 낫더라고요.

터미널 창에 아래 명령어를 그대로 복사해서 붙여넣기 해보세요.

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

이 명령어 한 줄이면 어지간한 활성화 문제는 다 해결되더라고요.

로컬에서 만든 스크립트는 그냥 실행하게 해주고 인터넷에서 다운로드한 파일만 꼼꼼하게 검사하겠다는 뜻이거든요.

장점은 한 번만 입력해 두면 앞으로 브이에스 코드를 껐다 켜도 가상환경이 아주 부드럽게 켜진다는 거예요.

하지만 보안 수준을 내 손으로 한 단계 낮춰야 한다는 치명적인 단점이 존재하더라고요.

인터넷에서 무심코 받은 악성 파일이 실행될 일말의 가능성이라도 생기는 거니까 마냥 마음이 편하지만은 않은 거 있죠.

명령어 핵심 분석

명령어가 너무 길어서 외우기 힘들다면 딱 두 가지만 기억하면 되더라고요.

  • 스코프 파트 현 사용자의 환경에만 적용하겠다는 안전장치 역할
  • 정책 파트 로컬 파일은 허용하고 외부 파일은 서명을 요구하는 융통성 있는 설정
구분기능 설명추천도
CurrentUser현재 로그인한 내 계정에만 권한 변경매우 높음
LocalMachine컴퓨터를 쓰는 모든 사람의 권한 변경매우 낮음

회사나 학교 컴퓨터라 권한이 꽉 막혀있다면?

가끔 회사 피씨처럼 중앙에서 보안을 꽉 쥐고 있는 환경에서는 위 명령어를 쳐도 빨간 글씨가 뿜어져 나오더라고요.

관리자가 윈도우 그룹 정책으로 아예 수정을 못 하게 박아버린 게 분명하더라고요.

이럴 때는 딱 한 번만 몰래 보안을 우회하는 임시 명령어를 써야 하더라고요.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

이걸 입력하면 지금 열려있는 이 터미널 창 하나에서만 모든 보안을 무시하고 스크립트를 실행할 수 있어요.

당장 급하게 가상환경을 켜서 코드를 돌려야 할 때 완전 구세주 같은 방법이더라고요.

하지만 치명적인 단점은 브이에스 코드를 껐다가 다시 켜면 이 설정이 싹 날아간다는 점이에요.

작업할 때마다 매번 이 긴 명령어를 다시 쳐야 하니까 짜증이 솟구치는 건 어쩔 수 없더라고요.

파이참 같은 다른 툴과 비교해 보기

이쯤 되면 권한 설정 같은 건 알아서 해주는 툴이 그립기도 하잖아요.

대표적인 파이썬 전용 툴인 파이참을 써보면 이런 가상환경 오류를 겪을 일이 아예 없더라고요.

새 프로젝트를 만들면 알아서 환경을 구성하고 터미널 권한도 딱 맞게 잡아주니까 너무 편한 거 있죠.

하지만 파이참은 너무 무거워서 제 낡은 노트북에서는 켤 때마다 숨이 턱턱 막히더라고요.

반면에 브이에스 코드는 가벼워서 날아다니는 수준인데 이런 권한 설정은 사용자가 일일이 다 만져줘야 하는 게 참 아이러니하더라고요.

개발 속도는 파이참이 빠른데 프로그램 자체의 가벼움은 브이에스 코드가 압승인 셈이죠.

최종 요약 및 실전 꿀팁

결론적으로 가상환경 활성화가 안 될 때는 파워쉘의 깐깐한 성격을 조금 누그러뜨리는 명령어가 필수더라고요.

복잡하게 생각할 것 없이 제 경험상 딱 이 두 가지만 상황에 맞게 골라 쓰면 완벽해요.

  • 개인 노트북이라면 현재 사용자 권한을 열어주는 설정으로 한 번에 끝내기
  • 권한이 막힌 회사 컴퓨터라면 프로세스 우회 명령어로 그때그때 해결하기

명령어를 입력하고 나서 .\.venv\Scripts\Activate.ps1을 다시 입력해 보면 초록색으로 괄호가 생기면서 드디어 환경이 켜지는 걸 볼 수 있을 거예요.

처음에는 빨간 에러 메시지가 무섭지만 원리만 알면 정말 별거 아닌 설정 문제에 불과하더라고요.

(근데 마이크로소프트가 기본 권한을 조금만 더 유연하게 만들어줬으면 좋겠다는 생각은 개발할 때마다 들더라고요)

오늘 알려드린 명령어로 답답했던 에러 창을 치워버리고 즐거운 코딩 라이프를 즐기시길 바라요!

댓글 남기기