[Distutils] Isolation, virtualenvs and buildout

2013-11-11 Thread Achim Domma
Hi,

I'm used to virtualenvs and I think I understood the general idea of build out. 
I need to build a pice of software out of several independent Python packages 
and I think buildout is the tool to use. But I don't get how buildout and 
virtualenv are related to each other. Asking Google, I found some hints that 
buildout is supposed to provide the same kind of isolation as virtualenvs - but 
only in the old 1.x version. The new(?) 2.0 version will change that. So 
I'm totally confused and ask for help.

My use case is simple: I have some python modules on our private pypi server 
and would like to deploy a pice of software composed out of them (including all 
dependencies).

Any starting guidance would be very appreciated!

cheers,
Achim
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Isolation, virtualenvs and buildout

2013-11-11 Thread Jim Fulton
On Mon, Nov 11, 2013 at 10:26 AM, Achim Domma do...@procoders.net wrote:
 Hi,

 I'm used to virtualenvs and I think I understood the general idea of build 
 out. I need to build a pice of software out of several independent Python 
 packages and I think buildout is the tool to use. But I don't get how 
 buildout and virtualenv are related to each other. Asking Google, I found 
 some hints that buildout is supposed to provide the same kind of isolation as 
 virtualenvs - but only in the old 1.x version. The new(?) 2.0 version 
 will change that. So I'm totally confused and ask for help.

Buildout1 tried to provide isolation, but it was incomplete and too
hard to maintain.

virtualenv works crazy hard to provide isolation. (/me applauds virtualenv.)

Many people run buildout inside virtualenvs.  Personally, I always keep a
unadulterated Python around that I run buildout with.  Buildouts main
contribution
is that it doesn't install things into site packages and won't mess up
your clean Python
or your virtualenv.   You could use virtualenv to make yourself a
clean Python and
run any number of buildouts with that virtualenv.

 My use case is simple: I have some python modules on our private pypi server 
 and would like to deploy a pice of software composed out of them (including 
 all dependencies).

That's similar to our use cases.

 Any starting guidance would be very appreciated!

FWIW, here's a script I use to make RPMs out of buildouts:

https://gist.github.com/jimfulton/6629791

It builds on zc.sourcerelease, which builds self-contained
source tar balls.

We (ZC) deploy *software* using RPM and use other buildout based tools
to deploy application configuration.

I suspect in the future we'll to docker or maybe something simpler
than RPM, which doesn't really match our use cases very well and tends
to cause us no end of pain.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Isolation, virtualenvs and buildout

2013-11-11 Thread Alex Clark
Achim Domma domma at procoders.net writes:

 
 Any starting guidance would be very appreciated!


As of 2.0, Buildout no longer provides isolation so you should do something
like:

$ bin/virtualenv .
$ bin/pip install zc.buildout
$ bin/buildout init

Then start writing your buildout.cfg.



___
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig