*.pycうぜーのつづき

前回のつづき

どうやら、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オプションでしばらく使ってみる。

どっちにしろ、ターミナルで開発してる人にしか役に立たんな。

*.pycうぜー

Pythonはモジュールをインポートすると、バイトコンパイルされてpycっていう拡張子のファイルを作成して、次回以降の起動を高速化してくれる。

この仕組み自体は歓迎すべきものなんだけど、ソースのディレクトリにぽこぽこ産み落とすから、開発してる時ってすごい邪魔に感じるのはぼくだけ?みんな気にならないのかな。

で、どうにかならんもんかと調べてたら、GNUのlsには、--hideオプションなんてのがあって、表示したくないパターンが設定できるみたい。

alias ls="ls --hide='*.pyc'"

とか、.zshrcにでもエイリアス切っとけば幸せになれるよ。

どうしても、表示したい時は、

\ls

って感じで、バックスラッシュ付けてやると、エイリアス無効にしてくれる。少なくともzshでは。他のは知らん。

ちなみに、OSX標準のlsはBSD由来だから、--hideオプションとか無い。MacPortsでcoreutils入れるか、Gentoo Prefix導入すればいいと思う。

Pythonのバージョンを2.5に上げる

日常のちょっとしたスクリプトは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がリリースされるのを思い出した。それを待ったほうがよかったかも。