Eggs, VirtualEnv, and Apt - best practices?

Nick Craig-Wood nick at craig-wood.com
Thu Sep 25 16:30:03 EDT 2008


Scott Sharkey <ssharkey at linuxunlimited.com> wrote:
B>  Our development group at work seems to be heading towards adopting 
>  python as one of our standard "systems languages" for internal 
>  application development (yeah!).  One of the issues that's come up is 
>  the problem with apt (deb packages) vs eggs, vs virtual environments.
>  We're probably gonna end up using Pylons or TurboGears for web-based
>  apps, and I've recommended virtualenv, but one of the other developers 
>  has had some "inconsistencies" when mixing systems with python installed 
>  from apt (all our servers are debian or ubuntu based) vs when installed 
>  under virtualenv.
> 
>  I have basically recommended that we only install the python base (core 
>  language) from apt, and that everything else should be installed into 
>  virtual environments. But I wanted to check to see how other enterprises
>  are handling this issue?  Are you building python from scratch, or using 
>  specific sets of .deb packages, or some other process.
> 
>  Any insight into the best way to have a consistent, repeatable, 
>  controllable development and production environment would be much 
>  appreciated.

I'll admit to not knowing what you mean by virtual environment...

In our debian systems we use python from apt and all modules from apt.

If there is a module we can't find then we build it into a .deb using
setup.py to build an rpm and converting to a .deb.

The app is then tested with "etch" or whatever.

If easy_install could build debs that would be really helpful!

>  Suggestions on build/rollout tools (like zc.buildout, Paver, etc) would 
>  also be appreciated.

Use setup.py to build into .debs is what we do.

-- 
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick



More information about the Python-list mailing list