[Python-ideas] PEP: Distributing a Subset of the Standard Library
Alexandre Brault
abrault at mapgears.com
Mon Nov 28 12:04:27 EST 2016
I would also prefer (2) for exactly the example given in this thread.
The Windows version of curses.missing.py could raise a
ModuleNotFoundError saying that curses is not available on Windows, but
a developer who wants to can install PDCurses to implement the stdlib
module.
I don't think the few cases where an stdlib package is both missing and
has a name collision with an incompatible module are enough to outweigh
the benefits of being able to install a third-party package to implement
a missing part of the stdlib
Alex
On 2016-11-28 11:38 AM, Guido van Rossum wrote:
> Overall I think this is a good idea. I have one hit:
>
> It seems that there are two possible strategies for searching the
> .missing.py file:
>
> 1. (Currently in the PEP) search it at the same time as the .py file
> when walking along sys.path.
> - Pro: prevents confusion when the user accidentally has their own
> matching file later in sys.path.
> - Con: prevents the user from installing a matching file
> intentionally (e.g. a 3rd party version).
>
> 2. After exhausting sys.path, search it again just for .missing.py
> files (or perhaps remember the location of the .missing.py file during
> the first search but don't act immediately on it -- this has the same
> effect).
> - Pro: allows user to install their own version.
> - Con: if the user has a matching file by accident, that file will
> be imported, causing more confusion.
>
> I personally would weigh these so as to prefer (2). The option of
> installing your own version when the standard version doesn't exist
> seems reasonable; there may be reasons that you can't or don't want to
> install the distribution's version. I don't worry much about the
> danger of accidental name conflicts (have you ever seen this?).
>
>
> --Guido
>
> On Mon, Nov 28, 2016 at 8:13 AM, Paul Moore <p.f.moore at gmail.com
> <mailto:p.f.moore at gmail.com>> wrote:
>
> On 28 November 2016 at 15:51, Tomas Orsava <torsava at redhat.com
> <mailto:torsava at redhat.com>> wrote:
> > I believe I may have found the Windows curses implementation,
> it's called
> > PDCurses [0], and this website [1] appears to be distributing it
> under the
> > name `curses`.
>
> My apologies, I should have included a pointer. That is indeed the
> distribution I was thinking of.
>
> > Could some Windows user please check if compiling Python with
> the current
> > reference implementation [2] of this PEP indeed generates a
> > `curses.missing.py <http://curses.missing.py>` file among the
> stdlib files? If so, we might consider
> > skipping the generation of the .missing.py file for the curses
> module on
> > Windows.
>
> I'll see if I can make some time to do the test. But as the change is
> to setup.py, and the Windows build uses Visual Studio project files to
> do the build, I expect that it won't generate missing.py files on
> Windows. In actual fact, that may be the simplest solution, to note
> that the build part of this change is restricted to Unix (non-Windows)
> platforms specifically. As there's no real concept of a "distribution
> version" of Python on Windows, it's probably not something that will
> be that important on that platform (and support for .missing.py files
> is there, it would just be necessary for distributors to manually
> create those files as needed).
>
> Paul
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org <mailto:Python-ideas at python.org>
> https://mail.python.org/mailman/listinfo/python-ideas
> <https://mail.python.org/mailman/listinfo/python-ideas>
> Code of Conduct: http://python.org/psf/codeofconduct/
> <http://python.org/psf/codeofconduct/>
>
>
>
>
> --
> --Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161128/dc142db9/attachment.html>
More information about the Python-ideas
mailing list