Hi Philip,

>> I've been recommending workingenv, and James Gardener has started
>> promoting zc.buildout.
> 
> Has he?

Only to Mike but I do think it could be the best long-term solution. 
There are a few rough edges at the moment though.

>> I'd like to see one strategy laid out in the tutorials, with a link to
>> the other approaches for advanced users.  So the question is, which
>> approach is most straightforward and reliable?
> 
> I just tried buildout for the first time; I had it install Pylons. You 
> end up with a result similar to that of virtualenv, though with a 
> different directory layout:
> 
>     bin/
>     buildout.cfg
>     develop-eggs/
>     eggs/
>     parts/
> 
> With all the Pylons dependencies installed in eggs/. No local version of 
> setuptools gets installed like virtual-python/workingenv.

That's the nice thing, it is a complete sandbox, doesn't affect the 
system Python and doesn't need loads of symlinks like virtual env does. 
The only difference is that you can't use easy_install with buildout, 
you have to specify extra packages either properly via your Pylons 
project's setup.py or manually in the eggs option in buildout.cfg

> I immediately noticed the lack of paster in the bin dir. From my quick 
> skimming of the buildout docs it seems like it should be there, but I 
> didn't find an obvious way of making that happen (though I am a total 
> buildout newb).

Yes, it doesn't install scripts from dependent eggs unless they are 
listed in buildout.cfg. I consider this a bug too so I've written my own 
egg recipe which does install them.

> I like buildout's ability to only go after the final release versions of 
> eggs. A number of folks (including Jim Fulton) have asked for this 
> feature in setuptools on distutils-sig. I think there's a chance of it 
> happening for setuptools 0.7, but this probably won't be for a while.

That's useful, as is the download cache option which means you can cache 
all the downloaded eggs, check them into your repository and then the 
production version of your site can run entirely from the cached eggs 
which means you always know which versions you are using and if you need 
to reinstall an application after say a server crash you aren't reliant 
on all the eggs still being present on pypi.

> I like the fact that virtual-python/workingenv pretty much leverage 
> setuptools to handle the eggs, whereas buildout is managing the eggs and 
> their paths on its own. The python executable it creates for you 
> actually hardcodes all the egg paths.

This is really nice but one drawback is that the python script is just 
that, a script, not an executable which means it can't be used in #! 
lines. Again, the recipe I use creates an executable to execute the 
script to get around this problem (much like setuptools installs a .exe 
on Windows).

> James has probably played with it a lot more, so I'm curious as to what 
> his experience was.

Actually I've only played with it a bit but it is my favorite solution 
so far. I've just packaged up the recipe I use and released it as 
pylons_sandbox on the cheeseshop so it should give you an idea of what 
I'm thinking.

http://cheeseshop.python.org/pypi/pylons_sandbox/0.1.0

Do you know a way to get setup.py to compile an executable? I can get it 
to compile a .so via the extensions mechanism but it would be nice if 
the launcher program could be built automatically.

Cheers,

James


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to pylons-devel@googlegroups.com
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