Skip to main content

Python 가상환경 실행 시 보안 오류 해결하기


개요


1) 문제 상황

Python 가상환경을 처음 설정하고 실행하려고 할 때, 아래와 같은 보안 오류가 발생하는 경우가 있다.

가상환경 실행 오류

오류 메시지를 보면 시스템에서 스크립트를 실행할 수 없다고 나온다.
이는 Windows의 보안 정책 때문인데, 기본적으로 스크립트 실행이 제한되어 있기 때문이다.


2) 해결 방법

이 문제를 해결하기 위해서는 PowerShell의 실행 정책을 변경해야 한다.
여기서 주의할 점이 있는데, Windows에는 두 가지 버전의 PowerShell이 있다.

PowerShell 종류

  • Windows PowerShell (64비트)
  • Windows PowerShell (x86) (32비트)

64비트 버전의 PowerShell을 관리자 권한으로 실행하고, 다음 명령어를 입력한 다음
문구가 나오면 Y 혹은 y를 입력한다.

실행 정책 변경

Set-ExecutionPolicy RemoteSigned

이제 가상환경이 Powershell에서도 정상적으로 실행되는 것을 확인할 수 있다:

정상 실행


3) 주의사항

32비트 PowerShell(x86)에서 실행 정책을 변경해도 64비트 Python 가상환경에서는 정상적으로 작동하지 않을 수 있다. 이는 다음과 같은 이유 때문이다:

  1. 실행 경로의 차이

    • 64비트: C:\Windows\System32\WindowsPowerShell
    • 32비트: C:\Windows\SysWOW64\WindowsPowerShell
  2. 레지스트리 접근의 차이

    • 32비트와 64비트 프로그램은 서로 다른 레지스트리 위치를 사용
    • 보안 정책도 각각 다른 레지스트리 키에 저장

따라서 가상환경 실행을 위해서는 반드시 64비트 PowerShell에서 정책을 변경해야 한다.