导入错误: 没有名为 'ipdb' 的模块



我是python的新手,我正在尝试在标准python包中使用交互式python调试器。 每当我在文本编辑器(atom)或通过iPython在命令行中运行"import ipdb"时,我都会收到错误:导入错误:没有名为"ipdb"的模块

我的 ipdb 模块在哪里?在我重新安装 python 后它仍然丢失。

谢谢!

pdb

内置的。 ipdb您必须安装。

pip install ipdb

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有一些额外的花里胡哨的东西。

在特定情况下,你想要一个功能更强大的ipdb调试器(包括自动完成之类的东西),ipython还有一个内置的(据我所知,它实际上是ipython默认使用的那个)。具体来说,您可以改为运行

from IPython.terminal.debugger import TerminalPdb
ipdb = TerminalPdb()

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

如果您使用--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.

相关内容

  • 没有找到相关文章

最新更新