Re: buildout vs virtualenv for pylons and/or other wsgi apps?

2008-12-15 Thread Wichert Akkerman

Previously Mike Orr wrote:
 
 On Sun, Dec 14, 2008 at 8:38 PM, Iain Duncan iaindun...@telus.net wrote:
 
  Hi folks, I totally do not want to start a flame war here, but was
  wondering if people could give me their reasons for preferring buildout
  or virtualenv for automated builds of pylons apps or other wsgi apps.
 
 Virtualenv is more popular because it follows traditional Python usage
 for the most part.  You install packages interactively  and can change
 your mind at any time.  Buildout's configuration recipes are hard for
 many people to memorize, and it's more suited to situations where you
 know ahead of time exactly which libraries you'll need   You can
 change the configuration and rebuild the environment from scratch, but
 it's not as easy as installing an experimental package, trying it out,
 and then uninstalling it if you don't like it.So with virtualenv you
 can use the same tools for development as you use for deployment,
 whereas buildout is more of a deployment-only thing.

I do not fully agree with that: I use buildout for development all the
time. One very very important thing buildout adds is repeatability. I
can take my buildout and deploy it it any random other machine and be
sure that I will have the exact same environment afterwards, down to
exact package versions if needed.

Adding more librares with buildout is just as simple as with virtualend,
the pattern is just a bit different: instead of running easy_install you
add declare the new dependency in setup.py and re-run buildout. This
has the advantage of guaranteeing that your dependencies are declared
correctly: buildout will happily install everything you need and
uninstall everything you do not need to keep the system as clean as
possible.

Wichert.

-- 
Wichert Akkerman wich...@wiggy.netIt is simple to make things.
http://www.wiggy.net/   It is hard to make things simple.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: buildout vs virtualenv for pylons and/or other wsgi apps?

2008-12-14 Thread Mike Orr

On Sun, Dec 14, 2008 at 8:38 PM, Iain Duncan iaindun...@telus.net wrote:

 Hi folks, I totally do not want to start a flame war here, but was
 wondering if people could give me their reasons for preferring buildout
 or virtualenv for automated builds of pylons apps or other wsgi apps.

Virtualenv is more popular because it follows traditional Python usage
for the most part.  You install packages interactively  and can change
your mind at any time.  Buildout's configuration recipes are hard for
many people to memorize, and it's more suited to situations where you
know ahead of time exactly which libraries you'll need   You can
change the configuration and rebuild the environment from scratch, but
it's not as easy as installing an experimental package, trying it out,
and then uninstalling it if you don't like it.So with virtualenv you
can use the same tools for development as you use for deployment,
whereas buildout is more of a deployment-only thing.

On the other hand, buildout has some features virtualenv doesn't, like
an egg cache.  You can have it build up a shared cache of eggs you've
installed, which it can pull from for later installs. easy_install
could do this while it downloads things, but it doesn't.

There's a new tool pip which is an alternative to easy_install.  It
also has its advantages and disadvantages, and is worth checking out.

-- 
Mike Orr sluggos...@gmail.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: buildout vs virtualenv for pylons and/or other wsgi apps?

2008-12-14 Thread Iain Duncan

On Sun, 2008-12-14 at 21:41 -0800, Mike Orr wrote:
 
 On Sun, Dec 14, 2008 at 8:38 PM, Iain Duncan iaindun...@telus.net wrote:
 
  Hi folks, I totally do not want to start a flame war here, but was
  wondering if people could give me their reasons for preferring buildout
  or virtualenv for automated builds of pylons apps or other wsgi apps.
 
 Virtualenv is more popular because it follows traditional Python usage
 for the most part.  You install packages interactively  and can change
 your mind at any time.  Buildout's configuration recipes are hard for
 many people to memorize, and it's more suited to situations where you
 know ahead of time exactly which libraries you'll need   You can
 change the configuration and rebuild the environment from scratch, but
 it's not as easy as installing an experimental package, trying it out,
 and then uninstalling it if you don't like it.So with virtualenv you
 can use the same tools for development as you use for deployment,
 whereas buildout is more of a deployment-only thing.

Thanks Mike, that's exactly the kind of feedback I'm looking for. What
do you use for automating virtualenv based deployments/builds?

 
 On the other hand, buildout has some features virtualenv doesn't, like
 an egg cache.  You can have it build up a shared cache of eggs you've
 installed, which it can pull from for later installs. 

Could you tell me why this is sometimes advantageous? 

Thanks
Iain



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: buildout vs virtualenv for pylons and/or other wsgi apps?

2008-12-14 Thread Mike Orr

On Sun, Dec 14, 2008 at 9:48 PM, Iain Duncan iaindun...@telus.net wrote:

 On Sun, 2008-12-14 at 21:41 -0800, Mike Orr wrote:

 On Sun, Dec 14, 2008 at 8:38 PM, Iain Duncan iaindun...@telus.net wrote:
 
  Hi folks, I totally do not want to start a flame war here, but was
  wondering if people could give me their reasons for preferring buildout
  or virtualenv for automated builds of pylons apps or other wsgi apps.

 Virtualenv is more popular because it follows traditional Python usage
 for the most part.  You install packages interactively  and can change
 your mind at any time.  Buildout's configuration recipes are hard for
 many people to memorize, and it's more suited to situations where you
 know ahead of time exactly which libraries you'll need   You can
 change the configuration and rebuild the environment from scratch, but
 it's not as easy as installing an experimental package, trying it out,
 and then uninstalling it if you don't like it.So with virtualenv you
 can use the same tools for development as you use for deployment,
 whereas buildout is more of a deployment-only thing.

 Thanks Mike, that's exactly the kind of feedback I'm looking for. What
 do you use for automating virtualenv based deployments/builds?

Are you trying to build test suites or do a large number of
deployments?  My deployment method is to make a virtualenv on the
target machine, svn export the application and copy it, then make
any adjustments needed.  So I don't really do anything automated.  Are
you trying to build test suites or do a large number of identical
deployments?  If not, the work of setting up an automated build and
verifying it's correct (and fixing problems when somebody else deploys
it on their computer and it doesn't work) is not necessarily worth it
compared to a manual install.


 On the other hand, buildout has some features virtualenv doesn't, like
 an egg cache.  You can have it build up a shared cache of eggs you've
 installed, which it can pull from for later installs.

 Could you tell me why this is sometimes advantageous?

It avoids downloading the same package again and rebuilding the egg.

-- 
Mike Orr sluggos...@gmail.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---



Re: buildout vs virtualenv for pylons and/or other wsgi apps?

2008-12-14 Thread Iain Duncan


 Are you trying to build test suites or do a large number of
 deployments?  My deployment method is to make a virtualenv on the
 target machine, svn export the application and copy it, then make
 any adjustments needed.  So I don't really do anything automated.  Are
 you trying to build test suites or do a large number of identical
 deployments?  If not, the work of setting up an automated build and
 verifying it's correct (and fixing problems when somebody else deploys
 it on their computer and it doesn't work) is not necessarily worth it
 compared to a manual install.

Hmm, a bit of both I guess. I'm trying to build a continuous integration
system for the stuff that is common between various client projects so
that I can keep all that in sync automatically while manually doing
client specific bits. So at the moment I'm exploring all my options and
doing a lot of reading...

Thanks
Iain


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~--~~~~--~~--~--~---