I've been trying virtualenv and buildout for my new project, and
thinking about what's suitable forthe Pylons book.  Both have
different advantages and disadvantages.  Buildout seems to do better
at mixing and matching eggs from a variety of sources, and it also has
the egg cache, and better ability to replicate an environment and
update it in one step.  Virtualenv has the interactive mode.

James was trying for an idea of putting the egg cache in version
control and letting the deployment copy get all the eggs from the
cache.  I assume he also put the buildout inside the Pylons
application.  But this causes a chicken-and-egg problem if the Pylons
app does not exist yet and you need to create the buildout in order to
get Paster to create the app to put the buildout in.  I guess you need
a separate Pylons buildout for creating applications with.

Virtualenv seems to have the same problem: you can't put a virtualenv
in an application if the application doesn't exist yet, and you can't
create an empty application directory because "paster create" fails if
the directory exists.  What I did was to create a venv named after the
application, install ipython and Pylons, create the app, and continue
using the same venv.

I think we're going to have to make a simpler buildout lite or enhance
virtualenv with at least an egg cache and probably some other things.
I'm still not sure how to structure the application and venv/buildout
in SVN so I'm keeping the venv in another non-VC directory for now.
But this poses problems down the road when people want a single script
to replicate their environment. Maybe virtualenv's bootstrapping
feature will be sufficient; I'm not sure.

Virtualenv also doesn't have a way to update all packages at once.
Maybe that will be OK if people list all their dependencies in
setup.py, but it's easy to forget that.  And again it doesn't help for
things like ipython that aren't a package dependency but you still
want them installed anyway.

-- 
Mike Orr <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to