[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Experimental Python packages



Bruce Sass wrote:
> The python-base package gives me python->python2.1, from Python-2.1.1.
> What happens when I point python to python3.0, will pydoc still work.

What happens when I point /usr/bin/perl to Perl 4?  I think I've just
screwed up the system pretty badly.  Use /usr/local for site specific
customizations.  Don't screw with /usr/bin/python.

> Why should Debian decide that bin/python _must_be_ a specific version
> of Python when it is so simple to specify which python a executable
> needs.  "Gratuitous" is the only word I can think of that accurately
> describes behaviour like that.

What's wrong with /usr/local/bin/python?

> Pydoc is part of Python, so there should be no problem explicitly
> specifying which Python that is (it is not limiting in any way).
> 
> The experimental py-2.1 packages have:
> 
> 1)	#/usr/bin/env python2
> 
> it should be:
> 
> 2)	#/usr/bin/env python2.1

No, it should be:

    #!/usr/bin/python2.1

You can't use /usr/bin/env.  What happens if someone installs python2.1
somewhere else in the path and that version does not have the modules
that the script needs?  You should use "#!/usr/bin/env python" for
scripts that you write or locally install scripts.  That way you can
change /usr/local/bin/python to point to a newer version of Python and
everything starts using that new version.

> you (Neil) want:
> 
> 3)	#/usr/bin/python
> 
> I like 2) because it lets me have a /usr/local/bin/python2.1
> overshadow the packaged 2.1 if I want, simply by fiddling with
> symlinks in /usr/local/bin.  If every executable did that I could
> point python to whatever I wanted and things just work.

Things would not work.  Things would break.  How do we assure that the
locally installed Python is compatible with all the installed Python
packages?

> ...where has my thinking failed?

For some reason you insist on being able to change /usr/bin/python.  If
you give up on that everything is simple and works fine.

  Neil



Reply to: