相关疑难解决方法(0)

使用ipdb在一个单元格中调试python代码(jupyter或Ipython)

我正在使用firefox的jupyter(或Ipython)笔记本,并希望在单元格中调试一些python代码.我正在使用'import ipdb; ipdb.set_trace()'作为一种断点,例如我的单元格具有以下代码:

a=4
import ipdb; ipdb.set_trace()
b=5
print a
print b
Run Code Online (Sandbox Code Playgroud)

用Shift + Enter执行后给出了这个错误:

--------------------------------------------------------------------------
MultipleInstanceError                     Traceback (most recent call last)
<ipython-input-1-f2b356251c56> in <module>()
      1 a=4
----> 2 import ipdb; ipdb.set_trace()
      3 b=5
      4 print a
      5 print b

/home/nnn/anaconda/lib/python2.7/site-packages/ipdb/__init__.py in <module>()
     14 # You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
     15 
---> 16 from ipdb.__main__ import set_trace, post_mortem, pm, run, runcall, runeval, launch_ipdb_on_exception
     17 
     18 …
Run Code Online (Sandbox Code Playgroud)

debugging cell ipdb jupyter

54
推荐指数
4
解决办法
3万
查看次数

pdb中的'n'将我移到pdb.set_trace()方法中

我正在尝试使用从另一个stackoverflow问题引用的本教程来学习pdb ,而我正处于"入门"部分的第3步.

In [12]: %paste
# epdb1.py -- experiment with the Python debugger, pdb
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
## -- End pasted text --
--Return--
> <ipython-input-12-48afa1c7ad72>(4)<module>()->None
-> pdb.set_trace()


(Pdb) l
  1     # epdb1.py -- experiment with the Python debugger, pdb
  2     import pdb
  3     a = "aaa"
  4  -> pdb.set_trace()
  5     b = "bbb"
  6     c = "ccc" …
Run Code Online (Sandbox Code Playgroud)

python ipython python-2.7 pdb

9
推荐指数
1
解决办法
977
查看次数

调试器在Jupyter笔记本电脑上无法正常运行

我正在尝试在Jupyter笔记本中调试一些代码。我尝试了3 4种不同的方法,它们都遇到相同的问题:

--Return--
None
> <ipython-input-22-04c6f5c205d1>(3)<module>()
      1 import IPython.core.debugger as dbg
      2 dber = dbg.Tracer()
----> 3 dber()
      4 tst = huh.plot(ret_params=True)
      5 type(tst)

ipdb> n
> y:\miniconda\lib\site-packages\ipython\core\interactiveshell.py(2884)run_code()
   2882             finally:
   2883                 # Reset our crash handler in place
-> 2884                 sys.excepthook = old_excepthook
   2885         except SystemExit as e:
   2886             if result is not None:
Run Code Online (Sandbox Code Playgroud)

正如你所看到的n命令,从我从理解pdb文件应执行(我假设下一行ipdb只是pdb适合于在IPython的工作,尤其是因为我找不到具体是指任何命令的文档ipdb,而不是pdb)

s也有同样的问题。这实际上是我想要执行的操作-进入plot通话(据我了解,这s是应该执行的操作),但是我所获得的与我所获得的完全相同n。我也尝试过r,但遇到了同样的问题。

我见过的每个示例都只是在命令后的行中使用Tracer()() …

debugging ipython python-2.7 pdb jupyter-notebook

7
推荐指数
1
解决办法
487
查看次数

标签 统计

debugging ×2

ipython ×2

pdb ×2

python-2.7 ×2

cell ×1

ipdb ×1

jupyter ×1

jupyter-notebook ×1

python ×1