[Distutils] Module from install breaks subsequent install of different distribution

Ben Finney ben+python at benfinney.id.au
Mon Jan 19 22:57:41 CET 2015


Marius Gedminas <marius at gedmin.as> writes:

> On Mon, Jan 19, 2015 at 07:37:35PM +1100, Ben Finney wrote:
> > Why on earth would the presence of ‘version.py’ in this distribution
> > cause the install of ‘docutils’ to fail? Or is some other
> > correlation going on? I have had other reports that subsequent
> > attempts to install packages also fail with the same error.
>
> My gut instinct is to say 'setup_requires is horrible, is there any
> way to avoid using it'? Of course that's not a reasonable long-term
> strategy. It'd be good to get to the bottom of this.

Thank you very much for spending the time to do so.

> Hmm, I think this bit in your setup.py [defining entry points] […]
> causes your code to run while setup_requires is busy installing
> docutils (in the same process!), and your code makes assumptions about
> the package it's used with ('there's a version.py and a ChangeLog in
> the current working directory') that are false when it's used with
> other packages, installed via setup_requires.

My current position would be: that's a bug in Setuptools, it should not
be applying entry points defined for package FOO when running the setup
for some other package BAR.

Is that right? Should I report a bug against Setuptools for this
behaviour?

-- 
 \     “Do unto others twenty-five percent better than you expect them |
  `\      to do unto you. (The twenty-five percent is [to correct] for |
_o__)                            error.)” —Linus Pauling's Golden Rule |
Ben Finney



More information about the Distutils-SIG mailing list