[Product-Developers] Re: Releasing products (betas) and pypi
Dylan Jay
gmane at dylanjay.com
Sun Apr 13 04:36:32 UTC 2008
Martin Aspeli wrote:
> Reinout van Rees wrote:
>> Martin Aspeli schreef:
>>> Right - buildout is a configuration management tool (more or less).
>>>
>>> If you require people to use a specific buildout.cfg (or even
>>> block-copy one
>>> from your product's buildout.cfg) for your product to be reasonably
>>> deployable, then you are not using it right. :)
>>>
>>> Installing a package should mean including a single egg, in general.
>>> That
>>> should use setup.py install_requires to pull in other eggs as required.
>>
>> Are many of the non-buildout-using people used to do this? An
>> easy_install call is easy, but also global by default. All instances
>> using the same python get the newly easy_installed item in their
>> python path. (Unless they're using virtualenv).
>>
>> I get the feeling that most people don't use easy_install, though.
>> They copy things into their lib/python.
>>
>> And telling people to use a specific buildout is waaaay easier than
>> telling them how to move things into lib/python. So I can understand
>> buildout is sometimes treated as a deployment tool...
>
> easy_install if you're not in a virtualenv is painful, too. Buildout is
> fine as a deployment tool for your own projects (in which case I'd call
> it "configuration management" rather than deployment), or if you want a
> number of people to share the same development environment (this is what
> "ploneout" is to the Plone developers).
>
> It's definitely not fine if you're releasing a third party product that
> you want people to use. Asking people to merge your buildout with their
> own is dangerous and irritating.
>
> I think most people continue to use buildout - that's a good thing.
> However, buildout is ultimately just about automating the downloading
> and installing of eggs and products. We should package our eggs and
> packages so that they are properly installable (in the setuptools sense)
> no matter what environment you're in.
Is there a description of a lifecycle process of a module? of going from
development to publishing, to bug fixing and then republishing? esp
using buildout?
It seems to me a little confusing because a development buildout would
look quite different from the production buildout that users of your
public module would be using, for instance if I develop and egg it
exists in src and I use svn:externals to get it, but egg user uses setup
tools right?
More information about the Product-Developers
mailing list