This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年11月23日 14:49 by sleepycal, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg255169 - (view) | Author: Cal Leeming (sleepycal) | Date: 2015年11月23日 14:49 | |
Originally posted here: http://stackoverflow.com/q/33873243/1267398 The problem is caused by this line: # For -m switch, just display the exception info = str(exc) Caused by the following commit in 2008; https://mail.python.org/pipermail/python-checkins/2008-February/066256.html The commit states; "Try to make command line error messages from runpy easier to understand (and suppress traceback cruft from the implicitly invoked runpy machinery)" However by suppressing the traceback it's now impossible to debug what caused the error when running with `runpy` without wrapping the entire `__init__.py` with your own try/except statement. I'd like to propose either displaying the full traceback by default, or adding a CLI option to enable it at runtime. The fact that it only suppresses *some* tracebacks and not all is a flawed approach surely? Thoughts? |
|||
| msg255638 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年12月01日 03:52 | |
I think there are a couple of related bugs here, with open reports: 1. Issue 14285: runpy catches various exceptions including AttributeError, and incorrectly assumes this means you gave it a bad module or package name. 2. Issue 19771: runpy incorrectly interprets exceptions such as in (1) as meaning the package doesn’t have a __main__ submodule. But these exceptions can happen even if hello.__main__ exists. My patch there changes the error message to: /home/proj/python/cpython/python: Error while finding spec for 'hello.__main__' (AttributeError: module 'random' has no attribute 'dsgjdgj') 3. Issue 16217: runpy should handle exceptions from user code by printing out the relevant traceback, rather than letting the Python interpreter print out all the internal runpy frames. Marking this as a dupe of Issue 14285, but I think a proper solution to that would probably affect the other two as well. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:24 | admin | set | github: 69894 |
| 2015年12月01日 03:52:31 | martin.panter | set | status: open -> closed nosy: + martin.panter messages: + msg255638 superseder: Traceback wrong on ImportError while executing a package resolution: duplicate |
| 2015年11月23日 14:49:24 | sleepycal | create | |