読者です 読者をやめる 読者になる 読者になる

タオルケット体操

サツバツいんたーねっと

Pythonの開発をしている人でPython製の便利スクリプトを導入するならpipsiが便利っぽい

pipsiとはpipsi = pip script installer
Flaskの人が作ったっぽいスクリプトです。

mitsuhiko/pipsi · GitHub

pipsiが流行る気配が微塵もないので書きました。たぶんクッソ地味なのでわざわざ話題にしないんだとおもいますが、個人的には重宝してます。

はじめに

このエントリの対象者はPythonでなんかを作ってる人です。つまり、virtualenvを使って仮想環境を切り替えまくってる系の人です。
普段Pythonでがっつり開発しない人はもう、面倒なので普通にグローバル環境にpip installしてパスを通せばいいとおもいます。

pipsiイズ何

さて、virtualenvを使って開発をしていると時々困ることがあります。それはPython製の便利ツール(pipで配信されている)をどう管理するかという問題です。
fabric, ansible, pecol, rlcompleter3, IPython, そしてそう、vintもPython製のツールでしたね? 他にもflake8やjediなどのツールも入りますかね。

これらのツールは便利なので導入したいんですけども、開発するvirtualenvには入れたくありません。かといって色々virtualenvを切り替えるのも嫌です。依存モジュールもりもりのツールをグローバルなpipに入れるのも、壊れた時に対処がめんどくさそうでなんか嫌です。

こういう時にpipsiが便利なんですよ。

pipsiがやってくれることは

  • virtualenvを作る
  • pipで対象モジュールをそこにいれる
  • ~/.local/binに対象モジュールの実行パスのsymlinkを貼る

です。そんだけです。

導入

まずは、Python, pip, virtualenvの導入が必要です。

次。

$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python

簡単ですね。

ではVimScriptライフを改善するためにvintを入れてみましょう

$ pipsi install vim-vint
$ which vint
/Users/hoge/.local/bin/vint

$ ls ~/.virtualenvs/
vint/  ## 仮想環境が作られているのがわかる

簡単ですね。当然~/.local/binには自分でパスを通す必要があります。

いかんせん利用者が少ないし思いつきで作られてる感の高いツールなので、いざというときは自力でforkしたりプルリする必要とかが出そう感がありますが、とは言え一つのpip空間に全てのツールをぶち込んでカオスが形成されるよりは良さがありそうなのでオススメなんじゃないかなとおもいました。
職場でしか使わない自作のPythonスクリプトみたいなものも管理しやすくなりますね?

おしまい!