[Zope-dev] Re: How to publish Zope2 products on PyPI
Philipp von Weitershausen
philipp at weitershausen.de
Sun Sep 23 13:24:42 EDT 2007
On 23 Sep 2007, at 19:05 , Dieter Maurer wrote:
> Philipp von Weitershausen wrote at 2007-9-22 19:27 +0200:
>> ...
>> Dieter Maurer wrote:
>> ...
>> * PyPI doesn't necessarily have to contain eggs. It's primarily a
>> discovery mechanism for humans. The fact that setuptools can download
>> packages from it is not as important as the fact that developers can
>> find packages there.
>
> The reason why I had to promiss to make my products available via PyPI
> was that they can be downloaded from there.
Right. So then I don't understand why need all that extra machinery
in Zope and an extra namespace.
>>> We extend the Zope2 configuration with an option "additional-
>>> products"
>>> which lists the products used by the instance that are not
>>> at a standard place -- such as those installed by "setuptools"
>>
>> As long as the packages are on the PYTHONPATH, Zope 2 will find
>> them. I
>> don't think there's a need for this new directive.
>
> But, such packages are not treated as Zope2 products -- which is
> essential
> for packages that are to be used as Zope2 products.
If a package is in the Products.* namespace, Zope 2 will find it and
load it. No matter where on the PYTHONPATH it is located. So I think
my statement is correct.
> I have learned meanwhile that by some disregard of concerns, Five
> can turn a package into a Zope2 product.
Yup. You can put your software into an arbitrarily named Python
package (e.g. dieter.mystuff) and have it be treated like a Zope 2
product (which really just means calling an initialize() function at
some point).
> Thus, the functionality is there -- just maybe in the wrong place.
If Five's registerPackage functionality is what you had been
proposing all along, then I have been misunderstanding you terribly.
Either way, you don't elaborate on why you think that this is the
"wrong" place for it. I personally consider registerPackage a
solutino for integrating new software (Zope 3-style software in
Python packages) into a legacy discovery mechanism (the automatic
Products.* loading).
More information about the Zope-Dev
mailing list