pipのメモ

メモしたいこと

  • version指定の方法
  • アップグレードのこと
  • ダウロードしたソースのキャッシュ

version指定の方法

"=="を使うとversionが指定できる。
e.g. pyramid
何も指定しないでインストールしようとすると1.3.a2がインストールされる

$ pip search pyramid
pyramid                   - The Pyramid web application development framework, a Pylons project
  INSTALLED: 1.2.5
  LATEST:    1.3a2

version指定しない場合

pip install pyramid # 1.3a2

version指定する場合。(==を使う)

pip install pyramid==1.2.5

アップグレードのこと

現在の環境のライブラリをupgradeしたいときには--upgradeが必要
1.2をインストール

pip install pyramid==1.2

1.2.5に変えようとする。

pip install pyramid==1.2.5
Requirement already satisfied (use --upgrade to upgrade): Chameleon>=1.2.3 in ./lib/python2.6/site-packages (from pyramid==1.2.5)
Requirement already satisfied (use --upgrade to upgrade): Mako>=0.3.6 in ./lib/python2.6/site-packages (from 
....
pip install pyramid==1.2.5 --upgrade

ダウンロードしたソースをキャッシュする

PIP_DOWNLOAD_CACHEという環境変数にディレクトリを指定してあげると良い。キャッシュしてくれる
.bashrcや.bash_profileに以下を追加

export PIP_DOWNLOAD_CACHE=$HOME/.pip.cache
オプションでも指定できる。
pip install pyramid==1.2.5 --download-cache=~/.pip.cache  --upgrade
cacheしてくれてるので

fooとbarの2つの環境を作るとき、インストールの度にダウンロードしてくることが無くなる。
(以下の操作を行うにはvirtualenvとvirtualenvwrapperが必要)

mkvirtualenv foo --no-site-packages --distribute
workon foo
PIP_DOWNLOAD_CACHE=~/.pip.cache pip install pyramid==1.2.5
deactivate
mkvirtualenv bar --no-site-packages --distribute
workon bar
PIP_DOWNLOAD_CACHE=~/.pip.cache pip install pyramid==1.2.5 #ここではdownloadしない。ローカルにあるソースを使う。

barの環境では、downloadしない。ローカルにあるソースを使う。