Pip와 Viertualenv 추가 설정¶

pip
를 위해 가상 환경의 활성화가 필요하다¶
개발 환경을 깔끔하게 유지하고 다른 프로젝트의 필요 라이브러리와 분리하려면 가상 환경을 사용하는 방법이 최고라는 사실이 이제는 분명해졌습니다.
여러 다른 프로젝트에서 작업을 시작할 때 특정 프로젝트로 돌아올 때마다 그 프로젝트의 가상 환경을 활성화 해야한다는 사실을 기억하기란 어렵습니다. 그러다보니 가상 환경에서 프로젝트의 패키지를 설치하는 것으로 착각하면서 글로벌 환경에서 패키지를 설치하기 일쑤입니다. 결국 시간이 지남에 따라 글로벌 패키지 목록이 지저분해질 수 있습니다.
pip install
을 실행할 때 패키지를 확실하게 활성화 된 가상 환경에 설치하려면 ~/.bashrc
파일에 아래의 줄 1개를 추가해보세요.
export PIP_REQUIRE_VIRTUALENV=true
이 변경 사항을 저장하고 source ~/.bashrc
명령어로 ~/.bashrc
파일을 불러오면 pip는 더이상 가상 환경이 아닌 곳에 패키지를 설치하도록 두지 않습니다. 가상 환경 밖에서 pip install
를 실행하려 하면 pip는 패키지를 설치하려면 가상 환경 활성화가 필요하다고 친절하게 알려줄 것입니다.
$ pip install requests
Could not find an activated virtualenv (required).
pip.conf
파일 또는 pip.ini
을 수정해도 이러한 환경 구성을 할 수 있습니다. pip.conf
은 Unix와 Mac OS X 운영체제에서 사용됩니다. 위치는 아래와 같습니다:
$HOME/.pip/pip.conf
마찬가지로 pip.ini
은 Windows 운영체제에서 사용합니다. 위치는 아래와 같습니다:
%USERPROFILE%\pip\pip.ini
pip.conf
이나 pip.ini
가 저 위치에 없다면 운영체제에다가 저 이름의 새 파일을 만들어도 됩니다.
설정 파일이 이미 있다면 아래의 라인을 [global]
밑에다 설정해서 가상 환경 활성화가 필요하다고 하면 됩니다.
require-virtualenv = true
설정 파일이 없다면 새 파일을 만들고 그 새 파일에 아래의 라인을 추가하세요:
[global]
require-virtualenv = true
물론 어떤 (보통 여러 다른 프로젝트에서 공통적으로 사용하는) 패키지들은 글로벌하게 설치해야 하기도 합니다. 이럴때면 ~/.bashrc
파일에 아래의 라인을 추가하면 됩니다:
gpip() {
PIP_REQUIRE_VIRTUALENV="" pip "$@"
}
변경 사항을 파일에 저장하고 ~/.bashrc
파일을 불러오고 나면 gpip install
로 패키지를 글로벌하게 설치할 수 있습니다. 함수명은 원하는대로 바꿔도 됩니다. pip로 패키지를 글로벌하게 설치하려면 그 함수명을 사용해야 한다는 것만 기억하면 됩니다.
나중에 사용할 수 있도록 패키지 캐싱하기¶
개발자라면 모두 좋아하는 라이브러리가 있을 것이고, 여러 다양한 프로젝트에서 작업한다 할지라도 사용이 겹치는 라이브러리가 있을 것입니다. 예를 들어 requests
라이브러리는 아마 여러 프로젝트에서 사용하고 있을 겁니다.
새 프로젝트를 시작할 때마다 (그러니까 새 가상 환경 말입니다) 같은 패키지와 라이브러리를 다시 다운로드 할 필요는 전혀 없습니다. 다행스럽게도 pip 6.0버전부터는 pip가 기본적으로 캐싱 매커니즘 을 가지고 있어서 추가 설정을 할 필요가 없습니다.
옛날 버전의 pip를 사용하고 있다면 다음과 같이 이미 설치된 패키지를 재사용 할 수 있습니다.
UNIX 시스템에서라면 .bashrc
나 .bash_profile
파일에 아래 라인을 추가할 수 있습니다.
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache
경로는 (쓰기 권한이 있는 곳이라면) 아무 경로나 원하는대로 설정하실 수 있습니다. 이 라인을 추가한 후 source
your .bashrc
(혹은 .bash_profile
) 하면 됩니다.
위 설정을 할 수 있는 다른 방법도 있습니다. 사용하는 시스템에 따라 pip.conf
나 pip.ini
파일일 수 있습니다. Windows를 사용한다면 pip.ini
파일의 [global]
아래 줄에 다음과 같은 라인을 추가할 수 있습니다.
download-cache = %USERPROFILE%\pip\cache
비슷하게 UNIX에서도 pip.conf
파일의 [global]
라인 아래에 다음과 같이 추가하면 됩니다:
download-cache = $HOME/.pip/cache
캐시를 저장할 경로는 어디든 좋지만, pip.conf
나 pip.ini
파일이 있는 폴더 안에 새 폴더를 만드시기를 추천드립니다. 새 경로를 만드는 본인의 술법이 못 미더우시다면 그냥 이 가이드에 나오는 경로를 사용하세요. 잘 될겁니다.