Edited at

Pythonパッケージへのディレクトリ移動ツール (pycd)

More than 3 years have passed since last update.

ものすごくありそうなのに見つからなかったので、作りました。 → pycd: cd to python modules

Pythonのパッケージを書いていると他のパッケージから持ってくればすぐ終わりそうだな、と思うことが多々あります。

そういうとき、さっとそのパッケージのディレクトリへ移動して、grepしたりエディタで見たりするためのツールがpycdです。


使い方

$ pycd requests

$ pwd
/usr/lib/python2.7/dist-packages/requests

$ grep 'def get(' *
api.py:def get(url, **kwargs):
cookies.py: def get(self, name, default=None, domain=None, path=None):
sessions.py: def get(self, url, **kwargs):
structures.py: def get(self, key, default=None):


インストール方法

$ pip install pycd

以下を~/.bashrc(or .zshrc)へ追加.

source `which pycd.sh`


パッケージ名の指定方法に関して

このとき重要なのは、引数としてimportする名前を指定するかpipでインストールするときに指定する名前を指定するかになりますが、importの方が慣れている人が多いと思うのでそちらにしました。

そうなるとpip show PAKAGEでは実現できないので、別のツールを作ることになりました:

$ pip show sklearn  # does not work

$ pip show scikit-learn
---
Name: scikit-learn
Version: 0.16.1
Location: /usr/local/lib/python2.7/dist-packages
Requires:

それがpypackですが、もしかしたら役に立つかもしれないので、書いておきます:

$ pypack find numpy

/usr/local/lib/python2.7/dist-packages/numpy

$ pypack list
numpy
sklearn
scipy
...


最後に

再利用できるコードを探すだけでなく、依存しているパッケージのバグを探すのにもかなり重宝しているのでよければ使ってみてください。

pycd: cd to python modules

また,もっといいツールがあるという場合は教えていただけると嬉しいです。