[Python-Dev] a simpler way to invoke pydoc, pdb, unittest, etc (original) (raw)

Ilya Sandler ilya at bluefir.net
Mon Sep 27 03:46:00 CEST 2004


A problem:

a number of standard python modules come with a command line interfaces, e.g. pydoc.py, pdb.py , unittest.py, timeit.py, uu.py But it appears that there is no convenient out-of-the-box way to invoke these tools from command line...

Basically one either has to write wrappers or to invoke them like this: python /usr/lib/python2.3/pdb.py

Neither approach is convenient...

Am I missing something obvious? If not, then would the following make sense?

When a script specified from command line is not found and the script name does not end with py, treat the script as a module name and execute that module as main

So python pdb would be equivalent to python /usr/lib/python2.3/pdb.py

A possible variation of the same idea would be to have an explicit command line option -m (or -M). More typing, but less magic...

Ilya

PS. An obvious alternative would be to install wrapper scripts/symlinks next to python, but I don't understand python packaging well enough to make a judgement here. One obvious problem with wrapper scripts would be a difficulty of versioning, I wouldn't want to have pydoc2.2 pydoc2.3.1 pydoc2.3, etc in my /usr/bin



More information about the Python-Dev mailing list