Eggs, VirtualEnv, and Apt - best practices?
Diez B. Roggisch
deets at nospam.web.de
Thu Sep 25 22:32:22 CEST 2008
Dmitry S. Makovey schrieb:
> Scott Sharkey wrote:
>> Any insight into the best way to have a consistent, repeatable,
>> controllable development and production environment would be much
> you have just described OS package building ;)
> I can't speak for everybody, but supporting multiple platforms (PHP, Perl,
> Python, Java) we found that the only way to stay consistent is to use OS
> native packaging tools (in your case apt and .deb ) and if you're missing
> something - roll your own package. After a while you accumulate plenty of
> templates to chose from when you need yet-another-library not available
> upstream in your preferred package format. Remember that some python tools
> might depend on non-python packages, so the only way to make sure all that
> is consistent across environment - use unified package management.
That this is a desirable goal can't be argued against. Yet two big
hurdles make it often impractical to be dogmatic about that:
- different OS. I for one don't know about a package management tool
for windows. And while our servers use Linux (and I as developer as
well), all the rest of our people use windows. No use telling them to
apt-get instal python-imaging.
- keeping track of recent developments. In the Python webframework
world for example (which the OP seems to be working with), things move
fast. Or extremly slow, regarding releases. Take Django - until 2 month
ago, there hasn't been a stable release for *years*. Virtually everybody
was working with trunk. And given the rather strict packaging policies
of debian and consorts, you'd be cut off of recent developments as well
as of bugfixes.
More information about the Python-list