2024-04-18 22:05:39 发布
网友
安装ipdb是否可能导致breakpoint()运行ipdb而不是pdb,而没有将sys.breakpointhook()绑定到ipdb?在
breakpoint()
sys.breakpointhook()
https://www.python.org/dev/peps/pep-0553/
我并不是问ipdb是否会这样做,而是是否可以编写代码。我知道我可以设置环境变量PYTHONBREAKPOINT=ipdb.set_trace。问题是只要安装ipdb,是否有可能触发这种行为。在
PYTHONBREAKPOINT=ipdb.set_trace
ipdb
在安装过程中,可以在正确的目录中以编程方式创建usercustomize.py或sitecustomize.py,并在其中修改os.environ['PYTHONBREAKPOINT']。在
usercustomize.py
sitecustomize.py
os.environ['PYTHONBREAKPOINT']
这些模块是在启动序列的早期由^{}导入的,适合这种定制。就我个人而言,我从来没有见过一个包修改/创建这些文件,所以我不希望ipdb会这么做。在
一种方法是在site-packages目录中创建.pth文件。如果该文件中的行以import语句开头,则该行将被执行。在该文件中,您可以monkey patchsys.breakpointhook
site-packages
.pth
import
sys.breakpointhook
示例:
echo "import random; print('hello')" > path/to/lib/python3.7/site-packages/test.pth $ python -c '' hello
在安装过程中,可以在正确的目录中以编程方式创建
usercustomize.py
或sitecustomize.py
,并在其中修改os.environ['PYTHONBREAKPOINT']
。在这些模块是在启动序列的早期由^{} 导入的,适合这种定制。就我个人而言,我从来没有见过一个包修改/创建这些文件,所以我不希望
ipdb
会这么做。在一种方法是在
site-packages
目录中创建.pth
文件。如果该文件中的行以import
语句开头,则该行将被执行。在该文件中,您可以monkey patchsys.breakpointhook
示例:
相关问题 更多 >
编程相关推荐