前回のつづき
どうやら、python2.6からは、dont_write_bytecodeっていうモードが追加されたらしい。
dont_write_bytecodeを使うと.pyc.pyoファイルを吐かなくできる。
起動オプションに-Bをつけるとdont_write_bytecodeモード。
python2.6リリースメモ(挫折) - def _mopemope_(self, args, *kwargs):
だけど、まだpython2.5で開発してるし、.pycは作成して欲しかったりするんだよなー。とりあえず、見えなければ満足なので、lsの--hideオプションでしばらく使ってみる。
どっちにしろ、ターミナルで開発してる人にしか役に立たんな。
Pythonはモジュールをインポートすると、バイトコンパイルされてpycっていう拡張子のファイルを作成して、次回以降の起動を高速化してくれる。
この仕組み自体は歓迎すべきものなんだけど、ソースのディレクトリにぽこぽこ産み落とすから、開発してる時ってすごい邪魔に感じるのはぼくだけ?みんな気にならないのかな。
で、どうにかならんもんかと調べてたら、GNUのlsには、--hideオプションなんてのがあって、表示したくないパターンが設定できるみたい。
alias ls="ls --hide='*.pyc'"
とか、.zshrcにでもエイリアス切っとけば幸せになれるよ。
どうしても、表示したい時は、
\ls
って感じで、バックスラッシュ付けてやると、エイリアス無効にしてくれる。少なくともzshでは。他のは知らん。
ちなみに、OSX標準のlsはBSD由来だから、--hideオプションとか無い。MacPortsでcoreutils入れるか、Gentoo Prefix導入すればいいと思う。
日常のちょっとしたスクリプトはPythonで書くことが多いんだけど、Gentoo LinuxのPythonは未だに2.4なので、既存のスクリプトがほとんど動かない。それはそれは悲しいので2.5にバージョンアップした。unstableまっしぐら。
# echo "dev-lang/python ~x86" >> /etc/portage/package.keywords
# emerge python
# python-updater
# emerge --unmerge python-2.4.4-r9
python-updaterを叩くのを忘れずに。あと、Gentooのパッケージ管理は優秀で、複数バージョンを同居させたりできるから、最後にunmergeする必要はないんだけど、思いきって2.4とは決別した(無謀な挑戦)。
最近のLinuxはシステム管理系のスクリプトの多くがPythonに依存してたりするので、ちょっと勇気が必要だけど、後方互換性に定評があるPythonを信じる。とりあえず、今のところ問題は起きてない。
そういえば、近いうちにGentoo 2008.0がリリースされるのを思い出した。それを待ったほうがよかったかも。