Zope 2.12 eggified Installation Stuff Learned
There was a short zope-dev meeting on #zope today. I'm not a zope-dev, but after they were done, I asked a question^W^W^Wgriped a bit about the new "eggified" Zope 2.12 install procedure. A big discussion ensued. I learned / noticed a couple of things:
- The install instructions given in the 2.12 release were confusing not only to me. (A while back I had tried to get through them, without having really much prior experience with modern python stuff like eggs... I didn't have a nice experience there.)
- "non-dev installs shouldn't use buildout"
- "virtualenv + easy_install is much better" (both quoted from Tres)
- People set out immediately to rectify the install instructions, I don't know when the changed ones will appear online, but it's nice to see this kind of thing move.
- There does not seem to be something that gives me the functionality of installing Zope offline (like I used to have by having a tarball of a certain Zope release on my disk)... on any machine more or less (more on that below). Few people (or noone) seem to care about that.
- There seems to be a mild consensus that one recommended way to install is a Good Thing™. But we don't seem to be 100% there yet.
As for the offline-stuff (or the "why do I have to re-download all this each time"), apparently easy_install can do some kind of storage of the eggs it downloads. But this seems to work only on the same platform with the same libraries. I think it's a good idea to ensure that you get the exact same stuff in a reinstall on the same machine, but it won't help when for example the developer machines and the production boxes differ slightly. I haven't looked after it really, but there seems to be another way, setting up a local proxy of PyPi or something... but people sounded a bit like if that is a big, scary thing. Buildout seems to have a better solution there, but after my previous experience and Tres recommendation, I'm not going to go there right now.
Update: just noticed that Tres also mentioned using compoze to make a local "egg store".