非常有用的异常,自动
better-exceptions-fork的Python项目详细描述
注意:这是原始better_exceptions库的分叉。 这个分叉用于修复我报告的一些边缘情况(参见#47),但是 这将向项目添加两个依赖项。修正的错误也是 小到可以证明向主库添加依赖项是正确的,因此 我出版的这个叉子是为了个人使用。
更好的异常
python中的异常非常漂亮,而且更有用。
使用量
通过pip安装better_exceptions:
$ pip install better_exceptions
并将BETTER_EXCEPTIONS环境变量设置为任意值:
exportBETTER_EXCEPTIONS=1# Linux / OSX setx BETTER_EXCEPTIONS 1# Windows
就这样!
python repl(交互式shell)
为了在python repl中使用better_exceptions,首先安装 打包(如上所述)并运行:
$ python -m better_exceptions Type "help", "copyright", "credits" or "license" for more information. (BetterExceptionsConsole) >>>
以便放入启用了better_exceptions的python交互shell。
高级用法
如果希望允许输出整个值而不是 被截断为一定数量的字符:
importbetter_exceptionsbetter_exceptions.MAX_LENGTH=None
在生产中使用better_exceptions时,不要忘记取消设置 避免在中泄漏敏感数据的BETTER_EXCEPTIONS变量 你的日志。
故障排除
如果你没有看到美丽的例外,首先确保 环境变量确实存在。你可以试试echo $BETTER_EXCEPTIONS (Linux/OSX)或^{TT9}$(Windows)。在Linux和 osx,export命令不会永久地添加变量,您可以 可能需要编辑~/.profile文件 坚持不懈。在Windows上,您需要在 setx命令。
检查是否与其他库没有冲突,以及 sys.excepthook函数已正确替换为 better_exceptions的一个。有时其他组件可以设置 自己的异常处理程序,例如python3-apportubuntu包 可能需要卸载。
确保您没有无意中删除 better_exceptions_hook.pth文件,应该与 所有python包所在的better_exceptions文件夹 安装。否则,请尝试重新安装better_exceptions。
您还可以尝试通过添加 import better_exceptions; better_exceptions.hook()开头 你的剧本。
最后,如果您仍然无法使这个模块工作,open a new issue通过 准确描述问题并详细说明配置 (python和better_exceptions版本、操作系统、代码段, 这样我们就可以重现你所遇到的错误。
许可证
版权所有©2017,Josh Junon。根据MIT license授权。