Brett Cannon wrote:
On Sat, Oct 10, 2009 at 10:31, Michael Foord
<fuzzy...@voidspace.org.uk <mailto:fuzzy...@voidspace.org.uk>> wrote:
Brett Cannon wrote:
On Fri, Oct 9, 2009 at 11:32, Michael Foord
<fuzzy...@voidspace.org.uk <mailto:fuzzy...@voidspace.org.uk>
<mailto:fuzzy...@voidspace.org.uk
<mailto:fuzzy...@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 <br...@python.org
<mailto:br...@python.org>
<mailto:br...@python.org <mailto:br...@python.org>>> wrote:
On Fri, Oct 9, 2009 at 04:53, Michael Foord
<fuzzy...@voidspace.org.uk
<mailto:fuzzy...@voidspace.org.uk>
<mailto:fuzzy...@voidspace.org.uk
<mailto:fuzzy...@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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com