[Python] Virtualenv & venv

Jay Mild Lee·2022년 10월 7일
0

web programming

목록 보기
5/9
post-thumbnail

🍺 WSL2

군 입대 전까지만해도 WSL을 잘 쓰고있었는데 오늘 Ubuntu를 돌려보니 오류코드가 뜨며 사용이 불가능했다. WSL2가 나왔길래, Windows Terminal을 쓸겸 잘됐다 싶어서 WSL2로 갈아타려했는데...... 몇 시간 동안 뻘짓을 하다가 결국 해결했다. python에서 venv 한번 쓰려다가 WSL2에 시간을 태웠으니 주객전도인 셈이긴 하지만 여튼 해결과정은 차후 포스트하도록 하겠다.

🍺 venv란?

venv란 말 그대로 가상환경을 의미한다. 파이썬에서 pip 등으로 라이브러리를 설치하는데, 프로젝트에 따라 다른 라이브러리를 설치해야할 경우가 생긴다. 이 때 유용한 패키지가 venv이다. 해당 패키지를 통해 프로젝트별로 각각 라이브러리를 관리할 수 있다.

🍺 설치

venv 설치 및 실행 방법은 매우 간단하다.

python -m venv .venv
.venv/Scripts/activate

🍕 test(requests 설치)

(.venv) shell >

venv가 정상적으로 실행되었다면, 앞에 (.venv)가 붙는 것을 확인할 수 있다. 이후 다른 라이브러리 설치와 동일하게, pip를 이용해 설치해주면 된다.

(.venv) shell > pip install requests

🍺 Trouble Shooting

🍕 Execution_Policies

Error message

.venv\Scripts\activate cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies

원인

.venv 활성화 시, 쉘의 권한 문제로 인해 발생하는 오류

해결

현재 사용자의 권한을 변경한다.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

🍕 interpreter 관련

.venv에 설치한 라이브러리를 불러올 때, 해당 라이브러리가 존재하지 않아 import가 안되는 경우가 있다. 이는 인터프리터가 잘못 설정되어있기 때문인데, pycharm등 IDE 상에서 interpreter를 .venv 내에 존재하는 python 인터프리터로 설정해주지 않으면 그러한 상황이 발생한다. 현재 나는 Atom을 texteditor로, 그 외 실행은 ubuntu나 powershell을 사용하고 있는데 가상환경을 사용하는 프로젝트의 인터프리터만 변경하는 방법을 찾지 못했다. 이에 따라, 그냥 쉘에서 venv를 활성화하고 그 안에서 python 파일을 돌리기로 했다.

0개의 댓글