[Distutils] (How) do setuptools/distribute/pip handle circular dependencies?

Daniel Holth dholth at gmail.com
Tue Nov 13 20:23:07 CET 2012


On Tue, Nov 13, 2012 at 2:16 PM, Alex Clark <aclark at aclark.net> wrote:

> On 2012-11-13 12:16:43 +0000, Vinay Sajip said:
>
>  Alex Clark <aclark <at> aclark.net> writes:
>>
>>
>>> Just jumping in here, but I don't think that the distribute
>>> distribution providing the setuptools module is indicative of a fork.
>>> It's an example of a distribution that does not contain a module name
>>> you'd expect it to, based on the distribution name. PIL is another
>>> example: from PIL import Image. And in the case of PIL at least, the
>>> fork distribution name does not change anything: pip install Pillow;
>>> from PIL import Image.
>>>
>>
>> Sure, but my main point was about having "Provides" be a multi-valued
>> field,
>> which opens the door to a lot of complexity for perhaps little or no
>> benefit. I
>> don't have any problem with the use of "Provides" as a canonical name for
>> a
>> distribution. Even before Pillow came along, there used to be confusion,
>> IIRC,
>> between the names "Imaging" and "PIL".
>>
>
>
> Ah, in that case I think that makes me +1 for a mult-valued Provides
> (whatever that is, is this a PEP discussion?) because there are times when
> you want to provide multiple packages in a single distribution. E.g.
>
>     packages=[
>         'foo',
>         'bar',
>     ],
>     package_dir={
>         'foo': 'foo',
>         'bar': 'bar',
>     },
>
>
> where the distribution looks like this:
>
> foo-bar/foo/foo/__init__.py
> foo-bar/bar/bar/__init__.py
>
> And this reminds me of a question I had that I'll now ask in a separate
> thread :-)


Packages often provide a single PyPI name that is the same as the "import
x" name, but Provides-Dist: is the distribution name. It is not necessarily
the same as the package name(s) "import x". Or are you merging packages now
:-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20121113/b099fcd7/attachment.html>


More information about the Distutils-SIG mailing list