파이썬 가상환경(venv) 이용하기
파이썬으로 프로젝트를 하다보면 가상환경이라는 단어를 자주 접할 수 있다 그때마다 나는 꼭하지 않아도 실행하는데 별문제가 없어서 지나갔었다 하지만 가상환경이란 단어를 자주 접하게 되면서 사용하는 이유가 궁금해졌다
이렇게 파이썬이 설치되어 있느곳에 패키지들이 설치되고 프로젝트1과 2는 그 파이썬 패키지를 이용하게 된다
평소에는 문제가 없지만 만약에 각각의 프로젝트에 필요한 패키지의 버전이 다를수 있다
프로젝트 1에서는 웹 패키지 1.3이 필요해서 설치했는데 프로젝트2에서는 웹 패키지 2.0이 필요하다면 파이썬에있는 패키지가 1.3에서 2.0으로 업데이트 될것이다 이러면 프로젝트 1에서 문제가 발생하게 되는데 이런 문제를 해결해 줄 수 있는것이 가상환경이다
가상환경을 이용한다면 프로젝트 별로 따로 패키지를 관리할 수 있다
프로젝트에 필요한 패키지를 설치된 공용 파이썬 패키지에서 가져오는것이 아니라 프로젝트 개별로 패키지를 설치하고 관리할 수 있게 만들어준다
또한 프로젝트에 필요한 패키지만 따로 설치하는것이라 나중에 삭제가 쉽다(폴더를 삭제)
가상환경 사용하기
원하는 프로젝트 경로에 들어가 터미널을 실행시킨다
python3 -m venv 가상환경이름 실행하면 가상환경 폴더가 생성된다
이제 터미널을 가상환경으로 바꾸고 vscode를 가상환경으로 실행하도록 바꾸는것만 남았다
source 이름/bin/activate-> 터미널 가상환경 실행
위 명령어를 실행하면 터미널에 내가 설정한 가상환경의 이름이 뜨는것을 볼수 있다
가상환경에 설치된 패키지를 보기위해 pip3 list 입력
가상환경이 아니라면 내가 이때까지 설치한 패기지가 모두 출력된다
이렇게 가상환경을 실해하고 py파일도 실행시킬때 가상환경의 패키지를 사용하기 위해서는 vscode의 인터프리터를 바꿔줘야한다(기본은 공용을 이용)
이미지와 같은 과정으로 인터프리터를 변경한다면 가상환경을 이용할 수 있다
만약 가상환경에서 나오고 싶다면 deactivate를 입력한다
가상환경 + 로컬
로컬에 설치된 패키지와 가상환경을 같이 사용하고 싶다면 가상환경을 만들때 python3 -m venv 가상환경이름 --system-site-packages
가상환경 폴더가 생성된다
가상환경 터미널을 실행시켜도 pip3 list를 통해서 설치된 패키지를 보면 기존에 설치된 패기지도 이용할 수 있다는것을 알 수 있다
프로젝트 옮기기
프로젝트를 옮길때 가상환경도 같이 이동해서 설치해줘야한다 따라서 pip3 freeze > requirements.txt로 가상환경에 설치된 패키지의 정보를 텍스트 파일에 저장 시킬 수 있다