tcsh で virtualenv を有効化する

さいきん清水川さんの新しい本のレビューをさせていただいていて、pip とか virtualenv とか wheel とかの知識をフライングゲットしてにわかに盛り上がっています。

virtualenv で環境作って有効化するとき、シェルが bash なら venv/bin/activate コマンドで有効化するのだけど、自分はシェルが tcsh なので source venv/bin/activate.csh としなければならない。

これは面倒なので、.cshrc にエイリアスを定義してみた。

alias activate source "\!*/bin/activate.csh"

これで tcsh でも activate venv と打つだけで有効化できる。引数間違えたりとかするとおかしなことになるけど、まあそれは気が向いたら改善しよう。

Windows で GNU ツールを使う

ふだんやってる Tips みたいなことは、簡単なことでもどんどん書いておくことにする。

開発用には Windows でも make や tar や touch を使いたい。Makefile を書くなら mv や cp や rm もないと面倒くさい。そこで、Windows 用にビルドされた Gnu のツールを PATH の通ったフォルダに入れておくとよい。

から入手できる。ぜんぶをまとめたのもダウンロードできるけど、自分は CoreUtils, Make, Tar くらいしか入れてない(find とか sort は Windows 標準のと被るので)。ようするにベーシックな Makefile が動けばいいという感じ。凝ったことはせずコマンドプロンプト(cmd.exe)で make と叩くのに使うだけで、個別のコマンドを使うことはあまりない(touch や tar くらいか)。

最近気づいたのだけど、Patch は Windows 8.1 で使おうとすると UAC の警告に阻まれてふつうに使えない。OS 全体で UAC を無効にするのがいやなら、‘Using “patch” from the GnuWin32 project on Windows 7’ に書かれている方法で exe に manifest を埋め込むとよい。

これだけで自前のたいていの Makefile は Windows と OS X (Unix) とで共用できるようになるので重宝。Visual Studio の nmake は、Windows 専用の開発にならいいけど、Python とかのプロジェクトにはなんかしっくりこないからね。