[Python-Dev] At least one package management tool for 2.7 (original) (raw)

anatoly techtonik techtonik at gmail.com
Wed Mar 24 12:20:19 CET 2010


On Wed, Mar 24, 2010 at 12:26 PM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:

Distutils2 is planned to be reintegrated in the stdlib in Python 3.3, and my goal is to release it when Python 2.7 final is released.

Does that means "after" Python 2.7, because I meant it to be "before" or at least "with"?

The open question is: do we want to include a full installer that takes care of installing / removing dependencies as well ?

If there is a risk to get nothing at all in 2.7 distribution, because it just won't be ready/accepted by that time, then I it is certainly optional.

But the "auto-update" story seems interesting, can you expand on this ?

Sure. Package management tool should have an ability to update itself when required regardless of Python release. For example::

python.exe -m easy_install setuptools

This will get you new version of setuptools and easy_install module from it automagically. You do not need to install new version of setuptools manually or copy files from SVN if you want to see fixes before next Python release. The stuff you would likely need to do with distutils bugs, which I personally find awkward.

Package management is orthogonal to Python releases, and it is more oriented at Python users who don't like to wait or follow PEPs. That's why package management tool such as 'easy_install' has shorter development cycle, and it should faster react to user feedback. What can be one of the reasons that no package management tool is included with Python.

In various README you may often see "requires setuptools > 0.6c9" or similar. I can't see why package management tool can not detect this dependency and propose to update itself.

If it is impossible to ship the whole package management system then at least Python distribution may carry small bootstrap script for it. When user tries to execute package management tools, it warns him that these are not installed and gives a hint where to get them::

python -m easyinstall bla-bla-bla Error: easy_install module is not shipped with this Python release. Please execute the following command to install the latest version.

python -m easy_bootstrap

-- anatoly t.



More information about the Python-Dev mailing list