python venv 가상환경 전환시 '이 시스템에서 스크립트를 실행할 수 없으므로' 오류 해결방법 > 개발

본문 바로가기
사이트 내 전체검색

개발

python venv 가상환경 전환시 '이 시스템에서 스크립트를 실행할 수 없으므로' 오류 해결방법

페이지 정보

profile_image
작성자 관리자 (112.♡.173.204)
댓글 0건 조회 2,756회 작성일 21-05-08 17:42

본문

## python 가상환경

일단, python 에서는 프로젝트 작업시 가상환경을 사용하기를 권장하고 있다.
패키지 모듈 들의 호환성 문제 등등의 이유를 든다.


## virtualenv vs venv

python 2 시절에는 기본패키지가 아니었기 때문에, 써드파티인 virtualenv 를 사용하였으나,
python 3 에서는 기본적으로 venv 를 제공하기 때문에, venv 를 사용하는 것이 좋다.


## 가상환경 설정

- 가상환경 만들기
```
python -m venv test-env
```
test-env 폴더가 만들어지고, 그 하위로 소스들이 python pip 등등 복사가 된다.

- 가상환경 실행
```
./test-env/Scripts/activate
```
를 실행하면 되고, 아래처럼 (test-env) 가 나오면 가장환경으로 변경된 것이다.
```
(test-env) .... PythonWorkspace>
```


## 문제점

윈도우 VSCode 에서 가상환경으로 들어가고자 할 때 아래와 같은 오류 메시지가 뜨는 경우가 있다.
```
test-env/Scripts/activate : 이 시스템에서 스크립트를 실행할 수 없으므로
....\PythonWorkspace\test-env\Scripts\Activate.ps1 파일을 로드할 수 없습니다.
자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.
```


## 해결법

1. 명령창에서 아래를 실행시키면 된다.
```
Set-ExecutionPolicy Unrestricted -Scope Process
```
위 명령은 1회성으로, VSCode 를 닫고 다시 열면, 또다시 문제의 오류가 발생한다.
https://stackoverflow.com/questions/18713086/virtualenv-wont-activate-on-windows/18713789


2. 다른 명령
```
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```
이는 VSCode 를 나갔다 다시 들어와도, 오류가 나지 않는다.
https://stackoverflow.com/questions/4037939/powershell-says-execution-of-scripts-is-disabled-on-this-system



## 가상환경 삭제

별다른 삭제 명령어는 없는 것 같고,
가상환경으로 만들어진 폴더 test-env 를 삭제해 버리면 된다.



## 참고
https://docs.python.org/3/tutorial/venv.html
http://hleecaster.com/python-venv/
https://stackoverflow.com/questions/18713086/virtualenv-wont-activate-on-windows/18713789
https://stackoverflow.com/questions/4037939/powershell-says-execution-of-scripts-is-disabled-on-this-system

추천0

댓글목록

등록된 댓글이 없습니다.

Total 386건 4 페이지
  • RSS
개발 목록
번호 제목 조회 추천 날짜
3262587005-14
3252807005-11
3243607005-10
열람중2757005-08
3224512005-07
3212961005-07
3202608005-06
3197036005-06
3183121005-04
3173814005-04
3161694005-04
3151647005-04
3143197005-04
3131870005-02
3123186005-01
3112114005-01
3102057005-01
3092797004-30
3081860004-30
3073472004-30

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.