[Python-Dev] PEP 370 and IronPython

Michael Foord fuzzyman at voidspace.org.uk
Sun Oct 11 01:06:38 CEST 2009


Brett Cannon wrote:
>
>
> On Sat, Oct 10, 2009 at 10:31, Michael Foord 
> <fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>> wrote:
>
>     Brett Cannon wrote:
>
>
>
>         On Fri, Oct 9, 2009 at 11:32, Michael Foord
>         <fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>
>         <mailto:fuzzyman at voidspace.org.uk
>         <mailto:fuzzyman at voidspace.org.uk>>> wrote:
>
>            The *only* change in semantics I'm proposing is for users of
>            IronPython 2.6 which is not even at final release yet. CPython
>            users would be unaffected.
>
>
>         Then why can't IronPython patch site.py to do what they want?
>         I still feel uncomfortable changing site.py for this in a
>         micro release.
>
>
>     The IronPython team currently have legal issues distributing
>     modified versions of the standard library (Dino can correct me if
>     I'm wrong here).
>
>     That aside, I think that were a Python feature is implemented in
>     such a way as to preclude compatibility with other implementations
>     then we should see it as a bugfix to correct it.
>
>     I can't see why you should feel uncomfortable (beyond general
>     principle), it seems clear that this change can't affect users of
>     ClassicPython. It is not only IronPython that will benefit but
>     also Jython when they port to Python 2.6.
>
>
> It's just principle. I'm not going to fight this as no one else has 
> spoken up with my view and both Dino and Frank would like this to happen.
>
> The one unfortunate thing about this proposal is how this is going to 
> mean I have to install a package potentially four times if I want it 
> available to all possible Python interpreters. Then again, the chances 
> of anyone beyond the people on this mailing list using more than a 
> single interpreter regularly is so small that bothering to add support 
> for yet another user directory that works on any Python interpreter 
> will not be worth it.
>

It is unfortunate, there are quite a few modules that I use with both 
IronPython and ClassicPython. Unfortunately there are many others where 
I have to make modifications or replace components (especially C 
extensions). It is these modules that require changes that mean separate 
site-packages directories are needed.

To be honest, at the moment I tend to bundle all third party 
dependencies in with my IronPython projects. As distutils support for 
IronPython improves I hope that will change.

All the best,


Michael

> -Brett
>
>
>
>
>     As a general rule the alternative implementations will only start
>     a serious port once a version is released and into maintenance
>     mode. If we aren't able to fix compatibility issues then the
>     implementations will always have to maintain their own patch sets
>     that may or may not get merged back in (or in the case of
>     implementations with awkward legal departments they'll have to
>     ship bugs).
>
>     All the best,
>
>     Michael
>
>
>
>
>            On 9 Oct 2009, at 19:00, Brett Cannon <brett at python.org
>         <mailto:brett at python.org>
>            <mailto:brett at python.org <mailto:brett at python.org>>> wrote:
>
>
>
>                On Fri, Oct 9, 2009 at 04:53, Michael Foord
>                <fuzzyman at voidspace.org.uk
>             <mailto:fuzzyman at voidspace.org.uk>
>             <mailto:fuzzyman at voidspace.org.uk
>             <mailto:fuzzyman at voidspace.org.uk>>> wrote:
>
>                    Christian Heimes wrote:
>
>                        Michael Foord wrote:
>                        
>                            I really like this scheme. The important
>             thing for
>                            IronPython is that we can get it into
>             Python 2.6
>                            (along with other fixes to make distutils
>             compatible
>                            with IronPython - like not attempting to
>                            bytecode-compile when
>             sys.dont_write_bytecode is True).
>                              
>
>                        I don't think my proposal will land into 2.6.
>             The changes
>                        are too severe
>                        for a bug fix release.
>                        
>
>                    Right, certainly not adding umpteen new sys
>             attributes. :-)
>
>                    The problem is that the alternative implementations
>             run well
>                    behind Python-trunk, indeed it doesn't really make
>             sense for
>                    them to put a lot of effort into implementing a
>             version that
>                    is still in development. The result is that they
>             discover
>                    incompatibilites after a version has gone into
>             'bugfix only'
>                    mode.
>
>                    Whilst the fix you have described (add information
>             to sys
>                    that is used by site.py and distutils) is ideal it
>             can only
>                    go into 2.7. I would *still* like to see a fix in
>             2.6 - even
>                    if it is simple logic in site.py using sys.platform (if
>                    sys.platform == 'cli'; elif sys.platform == 'java'
>             etc). That
>                    way IronPython 2.6 is able to be compatible with
>             Python 2.6.
>                    This logic might need duplicating in distutils (I
>             haven't
>                    looked at how distutils works out where the user
>                    site-packages folder is), but it is a 'maintenance
>             only' fix.
>
>
>                But it's still a change in semantics. Tossing this into
>             2.6 would
>                mean that anyone who has worked around the current
>             behaviour is
>                going to have a busted install.
>
>                -Brett
>
>
>
>
>
>     -- 
>     http://www.ironpythoninaction.com/
>     http://www.voidspace.org.uk/blog
>
>
>


-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog




More information about the Python-Dev mailing list