[Python-Dev] Python install layout and the PATH on win32
M.-A. Lemburg
mal at egenix.com
Wed Mar 21 15:54:21 CET 2012
Lindberg, Van wrote:
> Mark, MAL, Martin, Tarek,
>
> Could you comment on this?
>
> This is in the context of changing the name of the 'Scripts' directory
> on windows to 'bin'. Éric brings up the point (explained more below)
> that if we make this change, packages made/installed the new packaging
> infrastructure and those made/installed with bdist_winist and the old
> (frozen) distutils will be inconsistent.
>
> The reason why is that the old distutils has a hard-coded dict in
> distutils.command.install that would point to the old locations. If we
> were to make this change in sysconfig.cfg, we would probably want to
> make a corresponding change in the INSTALL_SCHEMES dict in
> distutils.command.install.
I'm not sure I understand the point in making that change.
Could you expand on the advantage of using "bin" instead
of "Scripts" ?
Note that distutils just provides defaults for these installation
locations. All of them can be overridden using command line
arguments to the install command.
FWIW: I've dropped support for bdist_wininst in mxSetup.py
since bdist_msi provides much better system integration.
> More context:
>
> On 3/20/2012 10:41 PM, Éric Araujo wrote:
>> Le 20/03/2012 21:40, VanL a écrit :
>>> On Tuesday, March 20, 2012 at 5:07 PM, Paul Moore wrote:
>>>> It's worth remembering Éric's point - distutils is frozen and changes
>>>> are in theory not allowed. This part of the proposal is not possible
>>>> without an exception to that ruling. Personally, I don't see how
>>>> making this change could be a problem, but I'm definitely not an
>>>> expert.
>>>>
>>>> If distutils doesn't change, bdist_wininst installers built using
>>>> distutils rather than packaging will do the wrong thing with regard to
>>>> this change. End users won't be able to tell how an installer has been
>>>> built.
>
> Looking at the code in bdist_wininst, it loops over the keys in the
> INSTALL_SCHEMES dict to find the correct locations. If the hard-coded
> dict were changed, then the installer would 'just work' with the right
> location - and this matches my experience having made this sort of
> change. When I change the INSTALL_SCHEMES dict, things get installed
> according to the new scheme without difficulty using the standard tools.
> The only time when something is trouble is if it does its own install
> routine and hard-codes 'Scripts' as the name of the install directory -
> and I have only seen that in PyPM a couple versions ago.
>
>
>> From the top of my head the developers with the most experience about
>> Windows deployment are Martin v. Löwis, Mark Hammond and Marc-André
>> Lemburg (not sure about the Windows part for MAL, but he maintains a
>> library that extends distutils and has been broken in the past). I
>> think their approval is required for this kind of huge change.
>
> Note the above - this is why I would like your comment.
>
>
>> The point of the distutils freeze (i.e. feature moratorium) is that we
>> just can’t know what complicated things people are doing with
>> undocumented internals, because distutils appeared unmaintained and
>> under-documented for years and people had to work with and around it;
>> since the start of the distutils2 project we can Just Say No™ to
>> improvements and features in distutils. “I don’t see what could
>> possibly go wrong” is a classic line in both horror movies and distutils
>> development<wink>.
>>
>> Renaming Scripts to bin on Windows would have effects on some tools we
>> know and surely on many tools we don’t know. We don’t want to see again
>> people who use or extend distutils come with torches and pitchforks
>> because internals were changed and we have to revert. So in my opinion,
>> to decide to go ahead with the change we need strong +1s from the
>> developers I named above and an endorsement by Tarek, or if he can’t
>> participate in the discussion, Guido.
>>
>> As a footnote, distutils is already broken in 3.3. Now we give users or
>> system administrators the possibility to edit the install schemes at
>> will in sysconfig.cfg, but distutils hard-codes the old scheme. I tend
>> to think it should be fixed, to make the distutils-packaging
>> transition/cohabitation possible.
>
> Any comment?
>
> Thanks,
> Van
>
> CIRCULAR 230 NOTICE: To ensure compliance with requirements imposed by
> U.S. Treasury Regulations, Haynes and Boone, LLP informs you that any
> U.S. tax advice contained in this communication (including any
> attachments) was not intended or written to be used, and cannot be
> used, for the purpose of (i) avoiding penalties under the Internal
> Revenue Code or (ii) promoting, marketing or recommending to another
> party any transaction or matter addressed herein.
>
> CONFIDENTIALITY NOTICE: This electronic mail transmission is confidential,
> may be privileged and should be read or retained only by the intended
> recipient. If you have received this transmission in error, please
> immediately notify the sender and delete it from your system.
>
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Mar 21 2012)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2012-04-03: Python Meeting Duesseldorf 13 days to go
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
More information about the Python-Dev
mailing list