[Distutils] Disabling --single-version-externally-managed

Robin Bryce robinbryce at gmail.com
Mon Sep 3 23:38:37 CEST 2007


On 02/09/07, Phillip J. Eby <pje at telecommunity.com> wrote:
> At 01:12 PM 9/2/2007 -0700, Toshio Kuratomi wrote:
> >What is the real way to allow people to do quick and dirty scripting and
> >experimentation from the interpreter shell in this environment?
>
> Either:
>
> 1. Select the desired default version using "easy_install package==version", or
> 2. Have *no* default version, and always use require() (or
> automatically-managed dependencies declared via a setup.py script).
>

Is it really setuptools job to attempt to address "quick & dirty
scripting" or "interactive experimentation" ?

I mean, as I understand it, easy_install is specifically about giving
you a clean painless install of a piece of python software without
having to care about the details and without needing to understand
anything about python.

But the expectations and needs of the user in Toshio's scenario are
completely at odds with this. This is a person who is clearly
interested in, or needs to understand, the details of some piece of
python software but who does not want to be concerned with all the
horrors of installation / distribution management. Or perhaps it's
simply a person who is *considering* system wide installation of some
python package and wishes to "try before they buy".

I frequently want to do exactly this sort of thing - often in
circumstances where I can not count on having a consistent setuptools
environment. Or, where I want to use a mix of installed and non
installed python packages. I almost always need to deal with a mix of
distutils installed, egg installed and plain old python. Occasionally
I'm in the situation where I have a setuptools egg on disc, I'd like
to use it, but I do not want to or simply can't install it.

Almost by definition anything that needs to be "installed" is not
going to help; Bootstrapping issues abound. But I *know* roughly where
the python code is that I want to make use of. And heck & damn it all;
There are a great many python packages whose source distributions are
perfectly capable of running in place - why should I have to "install"
such software before I'm satisfied it makes a useful addition to my
system ? In something of a fit of frustration I wrote this ~1000 line
python module:

http://svn.wiretooth.com/svn/open/pyrun/trunk/pyrun.py

http://svn.wiretooth.com/svn/open/pyrun/trunk/pyrun.html

wget is all the installation it needs. The -i -d and -p modes of
operation are the ones I think might address "quick & dirty scripting"
and "experimentation" from Toshios scenario.

I've not released it on cheeseshop because I wasn't really convinced
there would be much demand. And also because I didn't like the thought
that it might be confused as "general script stub" - I really would
not like to encounter a site installed script that used pyrun.py to
shim around installation / packaging issues.

I'm not sure I fully appreciate the issues your facing Toshio but your
posts struck something of a chord with me. If you think pyrun.py can
be made to help please let me know.

Cheers,

Robin


More information about the Distutils-SIG mailing list