Eggs, VirtualEnv, and Apt - best practices?

Scott Sharkey ssharkey at
Thu Sep 25 22:45:55 CEST 2008

Diez B. Roggisch wrote:
 > 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 ;)

Except that we do need multiple different environments on one server, 
and also have issues where our servers may be Windows.

 >> I can't speak for everybody, but supporting multiple platforms (PHP, 
 >> 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 
 >> 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 
 >> 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.

Very much the case.  Most of debian's packages for python are woefully 
out of date, it seems.  And then we're at the whim of the os provider as 
to when updates happen, rather than being controlled by our staff.

I am very interested in the eggbasket project - that's something that's 
been needed for a while.  And I'm aware of the setuptools fork, and the 
discussion on the distutils sig mailing list.


More information about the Python-list mailing list