앗! 광고가 차단되었어요!

글 내용이 방문자께 도움이 되었다면, 광고 차단 프로그램 해제를 고려해주세요 😀.

공돌이

virtualenv 사용하기

this-gpa 2020. 6. 28. 16:25

여러 파이썬 프로젝트를 수행할 때, 단순히 전역 pip를 통해서 필요한 패키지를 설치하게 되면

모든 패키지가 기본 pip 관련 디렉터리에 설치된다.

 

이렇게 하면 패키지 버전 관리가 어려우며,

초기 프로젝트를 빌드업할 때도 이미 불필요한 패키지를 갖는 환경을 사용해야 한다.

 

이를 방지하기 위해, 각 프로젝트를 위한 가상 환경(venv)을 만들 수 있으며, 도와주는 것이 virtualenv 패키지이다.

virtualenv는 pip 또는 apt로 설치할 수 있다.

pip(3) install virtualenv
sudo apt-get install virtualenv

설치가 완료되었으면 다음 명령어를 통해 환경(이는 디렉터리이다)을 생성할 수 있다.

virtualenv ENV_NAME

환경이 만들어지면서 나타나는 로그를 살펴보면,

시스템 환경의 파이썬으로부터 새로운 파이썬 환경을 만드는 것을 알 수 있다.

 

혹시나 시스템에 여러 파이썬이 설치되어 있으면 default 버전의 파이썬이 사용되므로,

다른 버전을 사용하고 싶다면 -p 옵션을 사용하자.

 

환경을 만들었으면 해당 환경을 활성화해야 한다.

source ENV_NAME/bin/activate

활성화하면 (ENV_NAME)이 터미널 왼쪽에 계속 붙게 되며,

이 상태에서 pip를 사용하면 새 환경(디렉터리)에 패키지가 설치된다.

 

일반적으로 프로젝트 내에 가상 환경을 만드는 데, 주의할 것은 github을 사용할 때 이 디렉터리는 ignore 처리를 해줘야 한다는 점이다.

CPU 환경에 따라 이 가상 환경을 다른 사람이 사용하기도 어려우며, 패키지가 많아질수록 용량도 커진다.

 

대신 설치한 패키지의 리스트를 남기기 위해 freeze를 사용할 수 있다.

pip freeze >> OUTPUT_FILE

위 명령어를 사용하면 현재 환경의 패키지 리스트를 OUTPUT_FILE에 출력한다.

 

이 파일은 나중에 새 환경을 세팅할 때 사용할 수 있다. 아래 명령어를 사용하면 OUTPUT_FILE을 읽어 명시된 패키지들을 설치해준다.

pip install -r OUTPUT_FILE

 

참고(Reference)