[Distutils] Better way of forcing distutils to use platlib location?

Yury V. Zaytsev yury at shurup.com
Tue Jun 25 18:01:55 CEST 2013


Hi Daniel,

On Tue, 2013-06-25 at 08:26 -0400, Daniel Holth wrote:

> It looks like you may be able to pass distclass=... to setup.py with a
> distutils.dist.Distribution subclass that overrides is_pure() to
> return False.

Thank you very much for this suggestion!

I have implemented it, but unfortunately it doesn't seem to work. I have
grepped cpython source for "is_pure" and was unable to find any
matches. 

Could you please give me some pointer as to how it is actually used? So
far, I wasn't really able to figure out where exactly in the code it is
decided whether the module goes to purelib or platlib.

The alternative solution that I came up with is to specify the
directories in the corresponding make target:

    $(PYTHON) setup.py build --build-base=$(top_builddir)/pynest/build install --prefix=$(DESTDIR)$(prefix) --install-lib=$(DESTDIR)$(pyexecdir) --install-scripts=$(DESTDIR)$(bindir) --install-data=$(DESTDIR)$(pkgdatadir)

It seems to work, so what do you think of this solution?

Even considering the obvious disadvantage that setup.py called without
these parameters will not install correctly, this seems to be rather
unhorrible to me.

-- 
Sincerely yours,
Yury V. Zaytsev




More information about the Distutils-SIG mailing list