defau使用ipdb的breakpoint()

2024-04-18 22:05:39 发布

您现在位置:Python中文网/ 问答频道 /正文

安装ipdb是否可能导致breakpoint()运行ipdb而不是pdb,而没有将sys.breakpointhook()绑定到ipdb?在

https://www.python.org/dev/peps/pep-0553/

我并不是问ipdb是否会这样做,而是是否可以编写代码。我知道我可以设置环境变量PYTHONBREAKPOINT=ipdb.set_trace。问题是只要安装ipdb,是否有可能触发这种行为。在


Tags: 代码httpsorgdevwwwsys环境变量pep
2条回答

在安装过程中,可以在正确的目录中以编程方式创建usercustomize.pysitecustomize.py,并在其中修改os.environ['PYTHONBREAKPOINT']。在

这些模块是在启动序列的早期由^{}导入的,适合这种定制。就我个人而言,我从来没有见过一个包修改/创建这些文件,所以我不希望ipdb会这么做。在

一种方法是在site-packages目录中创建.pth文件。如果该文件中的行以import语句开头,则该行将被执行。在该文件中,您可以monkey patchsys.breakpointhook

示例:

echo "import random; print('hello')" > path/to/lib/python3.7/site-packages/test.pth
$ python -c ''
hello

相关问题 更多 >