[Python-ideas] A python bridge between versions

Ian ian.team.python at gmail.com
Fri Feb 28 03:47:15 CET 2014


On 28/02/2014 11:48 AM, James Powell wrote:
>
> There's a catch here: Python 2 and Python 3 use the same C APIs,
> so you'd have to separate the two in some way to make both live
> in the same process.
> I actually have a working embedding of Python 3 into Python 2, which
> I've presented at a few conferences, most recently at PyData London this
> past weekend.
>
> It's just a C-extension module that embeds a Python 3
> PyRun_SimpleString. I haven't gotten around to building a shim to
> interact with Python 3 objects in Python 2 (and this would require a
> little bit of sophistication to handle GIL, GC, &c. issues.)
>
> Still, it's a working example of Python 2 and Python 3 running in the
> same process.
> I don't know if this idea has any serious applications. It's definitely
> been a fun toy for presenting ideas about interpreter embedding and
> exploring certain facets of CPython!
>
> Cheers,
> James Powell
>
James, I would suggest there is a very significant application for for 
calling python 2 objects from python3, in that suddenly the main 
roadblock to migration to python 3, the dependency on  legacy python2 
modules, could be removed as a roadblock.

Certainly well worth working through the issues.

Ian



More information about the Python-ideas mailing list