파이썬 | 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다. 오류 해결방법

Visual Studio Code(VSCode)에서 Python 파일을 실행하거나, 가상환경(virtualenv)을 활성화하려고 할 때, 다음과 같은 오류가 발생할수 있습니다.

 

스크립트 실행 오류 화면

vscode virtualenv 실행시 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다 오류 이미지

“이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.”

 

이 오류는 윈도우11 PowerShell의 실행 정책(Execution Policy) 때문에 발생합니다. 보안상의 이유로 스크립트 실행을 제한하는 기능으로, 기본값으로 설정된 "Restricted" 정책이 원입니다. 해당 정책은 파PowerShell 명령어를 통해 간단히 변경하여 오류를 해결할 수 있습니다. 

 

해결 방법: PowerShell 실행 정책 변경하기

PowerShell을 관리자 권한으로 실행

  1. 작업 표시줄 검색창에 PowerShell을 입력합니다.
  2. 검색 결과에서 "Windows PowerShell"을 마우스 오른쪽 버튼으로 클릭하고, 관리자 권한으로 실행을 선택합니다.

반드시 관리자 권한으로 실행해야 실행 정책을 변경할 수 있습니다.

 

Powershell 오류 해결 명령어 이미지

Set-ExecutionPolicy RemoteSigned

PowerShell 창에서 위 명령어를 입력하고 Enter를 누릅니다.

명령어 입력후 실행 정책 변경 확인 요청 메세지가 나타날 수 있습니다 "Y"를 입력하고 Enter 키를 누릅니다.

 

실행 정책 옵션 설명

  • Restricted: 기본값. 모든 스크립트 실행을 차단합니다.
  • RemoteSigned: 로컬에서 생성한 스크립트는 실행 가능하지만, 인터넷에서 다운로드된 스크립트는 서명이 필요합니다.
  • Unrestricted: 모든 스크립트를 실행할 수 있습니다.

 

설정을 변경한 후, 다시 Python 가상환경(virtualenv)을 활성화하거나 기존의 오류가 발생하였던 스크립트를 실행해 보세요. 오류가 발생하지 않고 정상적으로 실행됩니다.

 

보안 정책 바꿔도 되는걸까?

PowerShell의 실행 정책을 변경하면 스크립트를 실행할 수 있어 편리하지만, 보안 측면에서 주의가 필요합니다. 특히, 인터넷에서 다운로드한 스크립트를 실행하기 전에는 반드시 신뢰할 수 있는 소스인지 확인하세요. 요즘에는 스크립트형 악성코드도 유행하고 있어서 설정이 불필요한 경우에는 기본 값을 사용하는걸 권장합니다.

 

필요한 작업이 끝난 후 원래 상태로 되돌리고 싶다면 아래 명령어를 사용하여 실행 정책을 다시 "Restricted"로 설정할 수 있습니다.

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted
Top