[Python-Dev] importlib is now bootstrapped (and what that means) (original) (raw)

Eric V. Smith eric at trueblade.com
Tue Apr 17 12:43:30 CEST 2012


On 4/17/2012 5:52 AM, Antoine Pitrou wrote:

On Mon, 16 Apr 2012 20:41:56 -0400 Brett Cannon <brett at python.org> wrote:

On Mon, Apr 16, 2012 at 20:27, Antoine Pitrou <solipsis at pitrou.net> wrote:

On Tue, 17 Apr 2012 01:11:14 +0200 Georg Brandl <g.brandl at gmx.net> wrote:

No, it's not just an existing Python, it is (at least currently) the same version of Python being built. Therefore I wrote about the bootstrapping problems when bytecode changes. Depending on Cython is better in that it breaks the bootstrapping cycle, but on the other hand the C code may need to be regenerated when the C API changes in an incompatible way. Cython OTOH probably needs Python 2.x, which isn't that great for building Python 3. And requiring Cython for developing is not very contributor-friendly. Well, required to regenerate frozenimportlib, but nothing else. I mean making fixes go into importlib directly and get tested that way, not through import(). So really Cython would only be needed when importlib.bootstrap has been changed and you are making a commit. That's still a large dependency to bring in, while we already have a working solution. I'd understand using Cython to develop some new extension module which requires linking against a C library (and is thus impossible to write in pure Python). But for importlib that's totally non-necessary. I guess I'm -1 on it.

I agree. If the problem we're trying to solve is that the generated file isn't always rebuilt, bringing in a large dependency like Cython seems like overkill to me.

We basically have a working solution now (thanks, Brett). I think we should focus on getting it polished. Maybe we can bring in Cython in a later release, if in the 3.4 timeframe it still seems like we have a problem to solve. I suspect things will be working fine.

Eric.



More information about the Python-Dev mailing list