(Python)Python 가상환경 설정
Python 가상환경 설정
- Java Spring 만 사용하다, 이번에 새롭게 Python 과 Django 를 배우고 있는데 무엇을 하던지 새로운 환경을 설정하는것은 어렵고 오래걸리는것 같다. 매번 여기저거 검색해서 찾아 다니는 것보단 내가 정리를 해놓는게 더 좋을 것 같아 글을 쓰게 되었다.
가상환경 설정이 필요한 이유
- Java 를 사용할때도
jenv
를 사용해서 java 의 버전을 프로젝트마다 따로 설정해서 사용하긴 했는데, Python의 경우에도 프로젝트마다 버전을 달리 사용해야 하는경우도 있고, 프로젝트 마다 필요한 라이브러리들이 다르고 그걸 통합해서 관리하는 것 보단 나눠서 관리하는게 더 편리하다고 느껴 가상환경을 설정해 사용하기로 했다.
가상환경 설정 방법
pyenv 와 virtualenv 를 사용한 방법
- 우선 pyenv 를 맥에 설치한다.
brew install pyenv
명령어 사용- 설치 후
~/.zshrc
에 설정해줘야 하는것이 있는데 homebrew 사이트에 자세히 나와있어 따라하기만 하면 된다.
- 가상 환경 설정을 위해 pyenv-virtualenv 를 맥에 설치한다.
brew install pyenv-virtualenv
명령어 사용
- 프로젝트에 사용할 버전의 Python 을 설치해 준다.
pyenv install --list | grep 3.
3번때 버전의 Python 의 설치 가능 버전을 확인pyenv install 3.11.1
Python 3.11.1 버전 설치
- 설치한 버전을 사용해서 가상환경을 만든다.
pyenv virtualenv 3.11.1 py3.11
3.11.1 버전을 가지고 py3.11 이라는 이름을 가지는 가상환경 생성
- 프로젝트를 진행할 root 디렉토리로 이동
- 프로젝트 디렉토리에 가상환경 적용
pyenv local py3.11
명령어 사용
- 터미널 명령어줄 앞 또는 뒤에 (py3.11) 이 붙어 가상환경이 적용된걸 확인할 수 있다.
- 필요한 라이브러리 다운로드 받아 사용
pip3 freeze
다운받은 라이브러리 확인- 다른 가상환경을 적용시켜 보면 방금 환경에서 설치한 라이브러리가 검색되지 않는걸 알 수 있다.(프로젝트 별로 필요한 라이브러리를 따로 관리할 수 있게 된다.) - .python-version 파일이 생성되며 이 파일로 Python 을 실행할때 해당 환경의 Python 을 사용하게끔 해준다.
venv 를 사용한 설정 방법
- pyenv 또는 homebrew 를 통해 Python 설치가 필요하다.
- venv 가 Python 에서 제공하는 라이브러리이기 때문에 우선 Python 설치가 필요
- 프로젝트를 진행할 root 디렉토리로 이동
- 프로젝트 디렉토리에서 프로젝트에 사용할 가상환경 생성
python -m venv .venv
.venv 라는 이름의 가상환경 생성- python 버전의 경우 pyenv 로 설정한 global 버전 또는 맥에 설치한 Python 버전을 따라간다.
- 가상환경 활성
- 가상환경을 생성하면 가상환경의 이름과 동일한 디렉토리가 생성된다.
source .venv/bin/activate
명령어를 통해 가상환경을 활성화 시킬 수 있다.- .venv 디렉토리 안에 가상환경에서 사용할 python 이 생성되기 때문에
which pyton
명령어를 통해 가상환경이 설정 되었는지 알 수 있다.
- 가상환경 비 활성
deactivate
명령어를 통해 가상환경을 비 활성 시킬 수 있다.
각각의 설정 방법에 대한 장, 단점
pyenv 와 virtualenv 를 사용한 방법
장점
- 가상환경이 비활성화 될 일이 거의 없다.
- .pytion-version 파일을 삭제하는 경우는 거의 드물기 때문
단점
- Python 외에 vritualenv 를 설치해서 사용해줘야 한다.
- 처음 설정하는것이라면 조금 헤맬수도 있다.
venv 를 사용한 방법
장점
- 따로 설치할 필요 없이 Python 만 있으면 가상환경일 설정하고 사용할 수 있다.(편리하다.)
단점
- 맥을 재부팅하면 가상환경이 비활성화 된다.
- 가상환경이 비활성화 되었을때 그걸 모르고 라이브러리 설치 를 진행하면 프로젝트에서 import 가 안되는 문제가 발생할 수 있다.
- 매번 가상환경이 활성화 되어 있는지 신경써줘야 한다.
- 처음 사용하는 사람의 경우 가상환경이 아닌 다른곳에 라이브러리를 설치하는 등의 실수가 있을수 있다.
This post is licensed under CC BY 4.0 by the author.