본문 바로가기
OS/Window

[issue] 윈도우에서 가상환경 실행 거부

by TSpoons 2024. 5. 15.

os : 윈도우 10

목적: jupyter notebook을 사용하기 위한 python 3.10 실행 가상환경 설정

.\DL_venv\Scripts\activate : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\jaeho\Desktop\venv\DL_venv\Scripts\Activate.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
위치 줄:1 문자:1
+ .\DL_venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

 

 

 

파워셸(PowerShell)에서 가상환경을 활성화하려고 할 때 발생하는 보안 오류는 실행 정책 때문이에요.

파워셸은 기본적으로 스크립트 실행을 제한하여 시스템을 보호해서 이 문제를 해결하기 위해 실행 정책을 변경해야 해요.

 

다음 단계에 따라 해결할 수 있습니다.

1. 실행 정책 확인

먼저, 현재 파워셸의 실행 정책을 확인합니다.

sh
코드 복사
Get-ExecutionPolicy

2. 실행 정책 변경

일반적으로 가상환경을 활성화하기 위해서는 실행 정책을 "RemoteSigned" 또는 "Unrestricted"로 변경해야 합니다. "RemoteSigned"는 인터넷에서 다운로드한 스크립트만 서명된 경우에 실행을 허용하며,

"Unrestricted"는 모든 스크립트를 실행할 수 있도록 합니다.

 

실행 정책을 "RemoteSigned"로 변경하는 명령어는 다음과 같습니다.

sh
코드 복사
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

이 명령어는 현재 사용자에 대해서만 실행 정책을 변경합니다. 관리자 권한이 필요하지 않습니다. 만약 시스템 전체에 대해 설정하려면 -Scope 파라미터를 생략하거나 -Scope LocalMachine을 사용해야 하지만, 이 경우 관리자 권한이 필요할 수 있습니다.

3. 가상환경 활성화

이제 다시 가상환경을 활성화해 보세요.

sh
코드 복사
.\DL_venv\Scripts\activate

4. 실행 정책을 원래대로 복원 (선택 사항)

작업이 끝난 후 보안 강화를 위해 실행 정책을 원래대로 복원할 수 있습니다. 기본 정책은 "Restricted"입니다.

sh
코드 복사
Set-ExecutionPolicy Restricted -Scope CurrentUser

요약

  1. 실행 정책 확인: Get-ExecutionPolicy
  2. 실행 정책 변경: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  3. 가상환경 활성화: .\(당신의 가상환경 파일명)\Scripts\activate
  4. 필요시 실행 정책 복원: Set-ExecutionPolicy Restricted -Scope CurrentUser

PS C:\Users\jaeho\Desktop\venv> Get-ExecutionPolicy
>> 
Restricted
PS C:\Users\jaeho\Desktop\venv> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser