[PATCH] setup: use setuptools on Windows (issue5400)
Matt Harbison
mharbison72 at gmail.com
Wed May 3 21:09:28 EDT 2017
On Wed, 03 May 2017 20:12:39 -0400, Pierre-Yves David
<pierre-yves.david at ens-lyon.org> wrote:
> On 04/09/2017 02:30 AM, Matt Harbison wrote:
>> On Thu, 09 Mar 2017 23:06:34 -0500, Gregory Szorc
>> <gregory.szorc at gmail.com> wrote:
>>
>>> # HG changeset patch
>>> # User Gregory Szorc <gregory.szorc at gmail.com>
>>> # Date 1489118392 28800
>>> # Thu Mar 09 19:59:52 2017 -0800
>>> # Node ID b51f9adb41e68d9f3d88582f044d2742ae29ce09
>>> # Parent cd29673cebdbe2d998009322e4c3657389d6aed0
>>> setup: use setuptools on Windows (issue5400)
>>>
>>> We've had a long, complicated history with setuptools. We want to
>>> make it the universal default. But when we do, it breaks things.
>>>
>>> `python setup.py build` is broken on Windows today. Forcing
>>> the use of setuptools via FORCE_SETUPTOOLS=1 unbreaks things.
>>>
>>> Since the previous bustage with making setuptools the default
>>> was on !Windows, it seems safe to move ahead with the setuptools
>>> transition on Windows. So this patch does that.
>>
>> I'm not sure why, or what we should do about it, but test-hghave.t fails
>> with this on Windows. I can get a similar failure on Linux with
>> FORCE_SETUPTOOLS=1. Is this an expected diff with setuptools (and
>> deserving a '(glob) (?)'?
>
> It seems like your setuptools version/config installs '.egg'. That is
> awful since '.egg' is one of the worse things that happened to python
> packaging (their implementation is awful, has performance issue and
> break multiple basic assumption about python install/import).
>
> I though the time were setuptools were intalling '.egg' were over. I
> wonder why your version installed '.eggs', is it some global
> configuration? Is it an older version? Am I wrong when I think '.egg'
> are no longer the default?
>
> In all cases, I don't know if Mercurial setup tools can make sure it is
> never installed as an 'egg'. Maybe redefining the egg related commands
> in setup.py to abort ?
>
> Cheers,
>
I've got python 2.7.13 installed. `pip install --upgrade setuptools`
bumped it from 28.8.0 -> 35.0.2, but no joy. I deleted the contents of
'mercurial.egg-info'. `make clean && make local` doesn't repopulate the
egg directory, but running the test does, and it fails again.
I can't believe that there's a global config in play on my system because
I know nothing about setuptools, and Mercurial is the only python thing I
work with.
More information about the Mercurial-devel
mailing list