[New-bugs-announce] [issue17473] -m is not universally applicable

Devin Jeanpierre report at bugs.python.org
Tue Mar 19 01:14:07 CET 2013


New submission from Devin Jeanpierre:

Many executables in python are meant to be run on python scripts, but can't run python scripts that are part of a package. For example, one can do `python -m pdb foo.py`, but not `python -m pdb package.foo`. This makes it more difficult to interact with executable scripts within a package. In particular, the following will NOT work in general: `python -m pdb package/foo.py`

It would be easier if these modules gained their own `-m` argument to specify import paths instead of files. For example, the third party coverage module does this, and can be run using the command `python -m coverage run -m package.foo`.

What follows is a small list of scripts present as modules in the Python stdlib that involve manipulating other scripts, and so could benefit from a -m option.

pdb
profile
doctest
trace
modulefinder
tabnanny
pyclbr
dis

In the case of pydoc, unittest (unittest discover, etc.) -- these are special cases, as they interpret input as either a path OR a module via guessing. There may not be any benefit to adding a -m option.

----------
messages: 184564
nosy: Devin Jeanpierre
priority: normal
severity: normal
status: open
title: -m is not universally applicable
type: enhancement
versions: Python 3.3

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17473>
_______________________________________


More information about the New-bugs-announce mailing list