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
>> appreciated.
> 
> 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.



Diez



More information about the Python-list mailing list