导入错误:没有名为“ipdb”的模块。

26

我刚开始学习Python,并尝试使用标准Python包中的交互式Python调试器。但每当我在我的文本编辑器(Atom)或通过iPython命令行运行“import ipdb”时,就会出现错误:

ImportError: No module named 'ipdb'

我的ipdb模块在哪里?即使我重新安装了Python,它仍然丢失。

谢谢!

4个回答

32

pdb 是内置的。你需要安装 ipdb

pip install ipdb

对我有用!谢谢Wim!! - Erin Wolpert

12

ipdb 已经随着 ipython 一起提供。因此,如果您已经安装了 ipython ,则可以通过以下方式使用该软件包访问它:

from IPython.core.debugger import Pdb
ipdb = Pdb()

那么你可以像这样使用ipdb,就好像你已经执行了 import ipdb 一样:

ipdb.runcall(self, func, *args, **kwds)
ipdb.run(self, cmd, globals=None, locals=None)
# etc.

如果您没有安装ipython,那么可以使用内置调试器pdb。主要区别在于ipdb具有一些额外的功能。


3
在特定情况下,如果您需要一个更加功能丰富的调试器ipdb(包括自动完成等功能),ipython也内置了一个(据我所知,实际上是ipython默认使用的调试器)。具体来说,您可以运行以下命令:
from IPython.terminal.debugger import TerminalPdb
ipdb = TerminalPdb()

现在您可以获得与@Scott H的答案相同的功能,但是您现在可以在调试器中获得自动完成!


0

如果您使用了--user参数进行安装。您可以在~/.local/bin中检查可执行文件的名称。它可能被命名为ipdb3

$ ipdb
-bash: ipdb: command not found

$ ipdb3
usage: python -m ipdb [-c command] ... pyfile [arg] ...

Debug the Python program given by pyfile.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接