Zope3に依存した話ではないが、 Pythonの環境を整備するのに、最近いろんな用語が飛び交っていて、 異常にわかりにくい。 自分も完全に理解したとは言えないが、 適当にまとめておく。
Zope3はbuildout+eggに完全移行なので、 buildoutを使うのが当然という空気になっている。 しかし、このbuildoutだが、いまいち「具体的に」みんなどうやって使っているのか見えにくい。 Zope 3 Wikiの Using Buildout なんて、ほとんど中身がないし、 Jimの Introduction to zc.buildout は前提知識が多すぎて、最初はさっぱり意味が分からなかった。 Zope 2用に書かれているが、 Ploneの Managing projects with zc.buildout が一番マシな気がする。
こうもいろんなものが山ほどあると、とてもとっつきにくい。 用語は多いし、必要なものは一箇所にまとまってないし、 分かりにくいこと、この上なしである。 しかも、最近のZopeは分解ブーム(全部普通のPythonパッケージにして、かつ、ライブラリを多数のパッケージに分割しまくり)なので、 ますます混乱しやすくなっている。
こうしたくなる気持ちはわからないではないが、 依存関係の深いものまで分割されると、むしろ迷惑。 もはや「Zopeにはこれとこれとこれがあって、こういうときにはこれを使うとよくって...」みたいな説明が簡単にはできなくなっている。 何たって、「これがZopeです」とはっきり示せるものがほとんどないんだから。
こういう状況はいかにもPythonらしいわけだけれど、 こういう風にやればうまく行きますよ、みたいなガイドラインが欲しいところだ。 そういう意味で、zopeprojectは名案だと思う。 だが、zopeprojectは今までのやり方と違いすぎるのが問題で、 慣れをある程度放棄しないといけないのが玉に瑕。