장고 심화반 강의를 들으려고 하는데 venv 가상환경을 사용할 수 있어야된다는 내용이 있어서 정리를 하고 시작하려고 한다.
가상 환경을 사용하는 이유는
파이썬 패키지간 의존성이 크다고 생각할 수 있다.
프로젝트를 진행하다보면 패키지를 설치할 일이 많은데 작업환경이 바뀌고 하다보면 필요한 패키지를 동일한 버전으로 설치 할 수 없게되고 또 자기가 어떤 버전을 설치하였는지 기억하지 못하기에 환경을 통일화 하기 위하여 사용한다고 생각하면 되겠다.
추가적으로 venv라는 것에대하여 찾아보니 이런 내용이 있어서 설명을 추가한다.
virtualenv와 venv중 어느 것을 사용하여야 할까라는 내용이었는데 결과적으로는 venv를 사용하면 되겠다.
이유는 파이썬3에서는 파이썬2에서 가상환경 라이브러리를 제공안해주던 것과 다르게 가상환경 라이브러리를 기본적으로 제공되기 때문에 굳이 사용하지 안된다는 것이다.
가상환경 만들기
가상환경을 만들고 싶다면 "python -m venv 가상환경이름" 의 " 안의 내용을 쳐주면 된다.
그리고 프로젝트를 생성하면 기본적으로 venv을 만들것이냐는 체크박스가 뜨기때문에 체크를 해놓았다면 자동으로 생성이 완료된것을 확인 할 수 있다.
사실 처음 배울때부터 이건 체크 해놓고 프로젝트를 설정해달라고 했는데 자세히 안들었는지는 몰라도 해당 내용에 대한 설명 같은것이 부족해서 그냥 만들어야 되는거구나 라고 생각하면서 넘어간 점이 있었다.
그리고 기본 패키지를 생성하고 시작하려면 python -m venv 가상환경이름 --system-site-packages을 사용하면 된다고 하는데 필요하시다면 사용하면 좋을 것 같다.
가상환경 활성화
활성화는 간단하게 가상환경 폴더안에 script속에 있는 activate.bat을 실행해주면 된다.
터미널을 실행하였을때 경로를 내프로젝트경로/가상환경이름/Scripts/acrivat.bat 로 실행이 가능하다
그리고 실행 확인은 where python로 가능 비활성화 명령어는 deactivate
가상환경 내에서 패키지 설치, 삭제
평소처럼 pip install로 패키지 설치를 하면 된다. 삭제는 pip uninstall
패키지 목록 관리
설치된 목록 확인 pip freeze, pip list가 있는데 그냥 pip freeze 기억
pip freeze > requirements 명령어로 지금까지 설치한 패키지 목록을 저장가능
requirements.txt라는 파일이 생성
새로운 프로젝트에서 이 내용대로 설치하고 싶다면 이 텍스트 파일을 새로운 프로젝트 폴더 안에 가져와서 pip install -r requirements.txt 라고 써주면 됨 깃으로 해당내용을 공유하여 같이 프로젝트 하는 팀원들이 패키지도 같은것을 사용할 수 있게 관리가능
pip uninstall -r requirements.txt -y 반대로 옆의 명령어로 requirements.txt에 있는 패키지만 삭제하는 것도 가능
가상환경 삭제
venv 통째로 지우면 삭제가 됩니다.
'DevLog' 카테고리의 다른 글
[Setting]개발환경 셋팅 A to Z (0) | 2022.03.09 |
---|---|
[WIL]2203.1ST (1) | 2022.03.06 |
[PYTHON] path 환경 변수 설정 (0) | 2022.02.10 |
[내일 배움캠] 깃허브 Profile 만들기 & 꾸미기 (0) | 2022.01.21 |
[WIL]머신러닝 - 4주차 강의 개발일지 (0) | 2022.01.11 |