Pretty and helpful exceptions, automatically
Note: This a fork of the original better_exceptions library. This fork is intended to fix some edge cases I reported (see #47), but for this it adds two dependencies to the project. The fixed errors are too small to justify the addition of dependency to the main library, hence this fork that I publish for personal use.
Pretty and more helpful exceptions in Python, automatically.
Install better_exceptions via pip:
$ pip install better_exceptions
And set the BETTER_EXCEPTIONS environment variable to any value:
export BETTER_EXCEPTIONS=1 # Linux / OSX setx BETTER_EXCEPTIONS 1 # Windows
Python REPL (Interactive Shell)
In order to use better_exceptions in the Python REPL, first install the package (as instructed above) and run:
$ python -m better_exceptions Type "help", "copyright", "credits" or "license" for more information. (BetterExceptionsConsole) >>>
in order to drop into a better_exceptions-enabled Python interactive shell.
If you want to allow the entirety of values to be outputted instead of being truncated to a certain amount of characters:
import better_exceptions better_exceptions.MAX_LENGTH = None
While using better_exceptions in production, do not forget to unset the BETTER_EXCEPTIONS variable to avoid leaking sensitive data in your logs.
If you do not see beautiful exceptions, first make sure that the environment variable does exist. You can try echo $BETTER_EXCEPTIONS (Linux / OSX) or echo %BETTER_EXCEPTIONS% (Windows). On Linux and OSX, the export command does not add the variable permanently, you will probably need to edit the ~/.profile file to make it persistent. On Windows, you need to open a new terminal after the setx command.
Check that there is no conflict with another library, and that the sys.excepthook function has been correctly replaced with the better_exceptions’s one. Sometimes other components can set up their own exception handlers, such as the python3-apport Ubuntu package that you may need to uninstall.
Make sure that you have not inadvertently deleted the better_exceptions_hook.pth file that should be in the same place as the better_exceptions folder where all of your Python packages are installed. Otherwise, try re-installing better_exceptions.
You can also try to manually activate the hook by adding import better_exceptions; better_exceptions.hook() at the beginning of your script.
Finally, if you still can not get this module to work, open a new issue by describing your problem precisely and detailing your configuration (Python and better_exceptions versions, OS, code snippet, interpeter, etc.) so that we can reproduce the bug you are experiencing.
Copyright © 2017, Josh Junon. Licensed under the MIT license.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|better_exceptions_fork-0.2.1.post6.tar.gz (49.8 kB) Copy SHA256 hash SHA256||Source||None||Apr 29, 2018|