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 <rep...@bugs.python.org>
<http://bugs.python.org/issue17473>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to