ImportError:没有名为' ipdb'

时间:2016-01-15 03:51:38

标签: python ipdb

我是python的新手,我试图在标准的python包中使用交互式python调试器。每当我运行" import ipdb"在我的文本编辑器(原子)或通过iPython的命令行中然后我得到错误: ImportError:没有名为' ipdb'

的模块

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

谢谢!

4 个答案:

答案 0 :(得分:22)

pdb是内置的。 ipdb您必须安装。

pip install ipdb

答案 1 :(得分:4)

ipdb附带ipython,因此如果您已经安装了ipython,则可以使用以下方法通过该软件包访问它:

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

然后你可以像使用import ipdb一样使用ipdb,例如:

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

如果您没有安装ipython,那么您可以使用内置调试器pdb。主要的区别是ipdb有一些额外的花里胡哨。

答案 2 :(得分: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.

答案 3 :(得分:0)

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

ipython

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