Re: [Python-Dev] Distutils configparser rename

2008-05-16 Thread M.-A. Lemburg

On 2008-05-15 22:33, A.M. Kuchling wrote:

Python 2.6 renames the ConfigParser module to be configparser.

Distutils imports ConfigParser in various places.  I just made a
commit updating the import in one places, and then noticed that part
of commit r63248, which made the same change, was reverted in order to
preserve backward-compatibility.  Instead, the default path will
include lib-old again to keep the old module name available.

I suggest dropping that goal, though.  We've preserved compatibility
but I'm not aware that anyone uses the Python 2.x Distutils with
earlier versions of Python.  In particular:

* There's no standalone distutils package on PyPI, nor can I find
  such a package with a general web search.  Am I missing it?

* I do not see users advising other users to use a later version of 
  Distutils to fix their problems.


Is anyone actually benefiting from the effort of maintaining backward
compatibility?


Yes: all the folks who want to create distutils packages for more than
just the current Python version.

I've argued for this a couple of times in the past. Some background:

In order to build a Python package for a previous Python version,
you have to run distutils using that older Python version.

Now, as distutils evolves, new features are added, bugs are fixed,
etc. so as packager you always want to use the latest distutils
version available - even with older Python releases. In some cases,
e.g. PyPI registration, this may even be necessary, since the
new versions of those commands need to be kept in sync with the
PyPI repository.

Another aspect is keeping package setup.py files working.

If you need to support multiple Python versions, then your
setup.py will have to work with multiple different versions
of distutils.

Since performance doesn't really matter for distutils, it is well
possible and easy to keep compatibility with a few releases back.

This has worked great in the past and I don't see why we should
break this, as recent distutils checkins have done.

Note that Python doesn't exactly make it easy to ship Python
packages. You have several different dimensions to take into
consideration:

 * Python version
 * UCS2/UCS4
 * Platform and processor type
 * 32/64-bit

So there already is a lot of porting effort needed to support
a reasonable number of targets.

I don't think it takes a lot of effort to keep distutils
running with Python 2.3 and 2.4.

In the past I've usually rewritten parts of distutils that
were modified in incompatible ways. I haven't been able to
that for the recent checkins that broke distutils even on
Python 2.4.

Thanks,
--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, May 16 2008)
 Python/Zope Consulting and Support ...http://www.egenix.com/
 mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
 mxODBC, mxDateTime, mxTextTools ...http://python.egenix.com/


 Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! 


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
   Registered at Amtsgericht Duesseldorf: HRB 46611
___
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


Re: [Python-Dev] Distutils configparser rename

2008-05-15 Thread Nick Coghlan

A.M. Kuchling wrote:

Python 2.6 renames the ConfigParser module to be configparser.

Distutils imports ConfigParser in various places.  I just made a
commit updating the import in one places, and then noticed that part
of commit r63248, which made the same change, was reverted in order to
preserve backward-compatibility.  Instead, the default path will
include lib-old again to keep the old module name available.


Well, lib-old got added back to the path to support external users 
(since the deprecated ConfigParser name will emit a warning only under 
the -3 Py3k warning flag).


Since it would be nice for the standard library to not emit any warnings 
with the -3 flag, perhaps distutils should at least be trying the new 
name first, and only falling back to the old name on an ImportError 
(assuming we do decide we want to be able to run the 2.6 distutils on 
older versions of Python).


Cheers,
Nick.

--
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
http://www.boredomandlaziness.org
___
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


Re: [Python-Dev] Distutils configparser rename

2008-05-15 Thread Brett Cannon
On Thu, May 15, 2008 at 1:33 PM, A.M. Kuchling [EMAIL PROTECTED] wrote:
 Python 2.6 renames the ConfigParser module to be configparser.

 Distutils imports ConfigParser in various places.  I just made a
 commit updating the import in one places, and then noticed that part
 of commit r63248, which made the same change, was reverted in order to
 preserve backward-compatibility.  Instead, the default path will
 include lib-old again to keep the old module name available.

 I suggest dropping that goal, though.  We've preserved compatibility
 but I'm not aware that anyone uses the Python 2.x Distutils with
 earlier versions of Python.  In particular:

 * There's no standalone distutils package on PyPI, nor can I find
  such a package with a general web search.  Am I missing it?

 * I do not see users advising other users to use a later version of
  Distutils to fix their problems.

 Is anyone actually benefiting from the effort of maintaining backward
 compatibility?

The change was reverted at MAL's request, but he didn't qualify it
beyond wanting the backwards-compatibility.

-Brett
___
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


Re: [Python-Dev] Distutils configparser rename

2008-05-15 Thread Alexandre Vassalotti
On Thu, May 15, 2008 at 6:49 PM, Nick Coghlan [EMAIL PROTECTED] wrote:
 Since it would be nice for the standard library to not emit any warnings
 with the -3 flag, perhaps distutils should at least be trying the new name
 first, and only falling back to the old name on an ImportError (assuming we
 do decide we want to be able to run the 2.6 distutils on older versions of
 Python).


Well, that is a good idea. And, that will silence the Windows
buildbots while other developers find out how to add lib-old/ to the
sys.path.

-- Alexandre
___
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


Re: [Python-Dev] Distutils configparser rename

2008-05-15 Thread Gregory P. Smith
On Thu, May 15, 2008 at 4:04 PM, Brett Cannon [EMAIL PROTECTED] wrote:
 On Thu, May 15, 2008 at 1:33 PM, A.M. Kuchling [EMAIL PROTECTED] wrote:
 Python 2.6 renames the ConfigParser module to be configparser.

 Distutils imports ConfigParser in various places.  I just made a
 commit updating the import in one places, and then noticed that part
 of commit r63248, which made the same change, was reverted in order to
 preserve backward-compatibility.  Instead, the default path will
 include lib-old again to keep the old module name available.

 I suggest dropping that goal, though.  We've preserved compatibility
 but I'm not aware that anyone uses the Python 2.x Distutils with
 earlier versions of Python.  In particular:

 * There's no standalone distutils package on PyPI, nor can I find
  such a package with a general web search.  Am I missing it?

 * I do not see users advising other users to use a later version of
  Distutils to fix their problems.

 Is anyone actually benefiting from the effort of maintaining backward
 compatibility?

 The change was reverted at MAL's request, but he didn't qualify it
 beyond wanting the backwards-compatibility.

 -Brett

backwards compatibility?  whats wrong with just doing:

try:
import configparser as ConfigParser
except ImportError:
import ConfigParser

in the distutils code that needs to be.
___
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


Re: [Python-Dev] Distutils configparser rename

2008-05-15 Thread Brett Cannon
On Thu, May 15, 2008 at 9:08 PM, Gregory P. Smith [EMAIL PROTECTED] wrote:
 On Thu, May 15, 2008 at 4:04 PM, Brett Cannon [EMAIL PROTECTED] wrote:
 On Thu, May 15, 2008 at 1:33 PM, A.M. Kuchling [EMAIL PROTECTED] wrote:
 Python 2.6 renames the ConfigParser module to be configparser.

 Distutils imports ConfigParser in various places.  I just made a
 commit updating the import in one places, and then noticed that part
 of commit r63248, which made the same change, was reverted in order to
 preserve backward-compatibility.  Instead, the default path will
 include lib-old again to keep the old module name available.

 I suggest dropping that goal, though.  We've preserved compatibility
 but I'm not aware that anyone uses the Python 2.x Distutils with
 earlier versions of Python.  In particular:

 * There's no standalone distutils package on PyPI, nor can I find
  such a package with a general web search.  Am I missing it?

 * I do not see users advising other users to use a later version of
  Distutils to fix their problems.

 Is anyone actually benefiting from the effort of maintaining backward
 compatibility?

 The change was reverted at MAL's request, but he didn't qualify it
 beyond wanting the backwards-compatibility.

 -Brett

 backwards compatibility?  whats wrong with just doing:

 try:
import configparser as ConfigParser
 except ImportError:
import ConfigParser

 in the distutils code that needs to be.


Nothing's wrong with it. It's just that Alexandre did what we have
done for all of the stdlib and just moved entirely over to the new
name.

-Brett
___
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