Friday, November 16, 2007

Bitten by Configuration Management

I've learnt a lesson re. configuration management.

When setting up new projects, esp. projects built on frameworks like TurboGears, you should keep your eggs handy, for all possible platforms.

an "easy_install TurboGears==1.0.1" in September will not necessarily download the same code in October. In particular, it seems RuleDispatch has changed, which exposes a new bug in my application... grrr.

3 comments:

Sergey said...

Can't you note the version of RuleDispatch on one machine, install the same on another, and then install TurboGears? RuleDispatch is a separate package. No wonder the same version of TurboGears can pull up a version of RuleDispatch different from the one it would have pulled a month ago.

Also, you can record the exact versions of required packages in your own application. The install_requires argument of setuptools.setup allows that.

Simon Wittber said...

Yep, thats true. In this case however, it seems that RuleDispatch eggs don't seem to hang around long, so when easy_install RuleDispatch==the_version_i_need, setuptools reports that it can't satisfy the requirement. Hence the argument for keeping copies of the eggs yourself.

Sergey said...

Agreed, TurboGears packages RuleDispatch themselves so you're at their mercy :-). Using install_requires would at least provide for a "clean failure."

Popular Posts