文档章节

Ipython的 Debug 函数

BaiLiang
 BaiLiang
发布于 2014/06/03 20:59
字数 280
阅读 1211
收藏 5

  一直以来,很喜欢方便而强大的ipython调试python,但始终没有机会仔细看高版本的手册,今天偶然在这里 看到一个调试单独函数的小技巧,顺便浏览了下ipython主站的文档,记录如下。   通常我有个函数要调试,我会在想要的位置插入一个 ipdb的断点。

def oauth():
    '''
        测试 oauth 功能
    '''

    import ipdb; ipdb.set_trace()
    
    appid = u"abc"
    r_url = u"http://www.baidu.com/"
    scope = u"snsapi_base"
    url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s'
    'APPID&redirect_uri=%s&response_type=code&scope=%s&'
    'state=STATE#wechat_redirect' % (appid, r_url, scope)如

  可以通过设置一个自定义的函数

def debug(f, *args, **kwargs):  
    from IPython.core.debugger import Pdb  
    pdb = Pdb(color_scheme='Linux')  
    return pdb.runcall(f, *args, **kwargs) 

  实现 debug(oauth) 的效果

1.建立一个py文件

$cd `ipython locate profile`/startup/

建立一个tool.py文件,内容如下:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def set_trace():
    from IPython.core.debugger import Pdb
    Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)

def debug(f, *args, **kwargs):
    from IPython.core.debugger import Pdb
    pdb = Pdb(color_scheme='Linux')
    return pdb.runcall(f, *args, **kwargs)

简单解释一下

  • ipython locate profile 命令能够返回 ipython 的配置目录
  • 其下的startup目录下的文件会在 ipython启动前运行。

© 著作权归作者所有

共有 人打赏支持
BaiLiang
粉丝 5
博文 17
码字总数 6995
作品 0
大庆
python学习-ipython和pyenv

一、ipython ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以...

羊草
08/01
0
0
jupyter notebook :一个交互式计算和开发环境

一、 IPython基础 代码自动补全:Tab键 可补全内容包括:变量名、函数名、成员变量函数、目录文件 内省(Itrospection) 在变量名之前或之后加上问号(),这样可以显示这个对象的相关信息。 如果...

xinet
2017/08/15
0
0
IPython Notebook 简介

在 IPython 的官网(ipython.org)上,介绍其的第一句话便是:IPython 是一个加强版的交互式 Shell。另外很多介绍 IPython 的文章也常以这句话开头,但这句话实在是等于没说。让 IPython 在各...

lionets
2014/06/06
0
0
Make IPython work with virturalenv

IPython是非常方便的交互式python环境,但默认不能识别virturalenv. 解决方案很简单: 写一个配置脚本让IPython识别virtualenv,将virtualenv的包放到sys.path中 import sitefrom os import ...

fanzc
2012/09/13
0
0
配置Ipython Nodebook 运行 Python Spark 程序

配置Ipython Nodebook 运行 Python Spark 程序 1.1、安装Anaconda Anaconda的官网是https://www.anaconda.com,下载对应的版本; 1.1.1、下载Anaconda 1.1.2、安装Anaconda 1.1.3、配置Anaco...

巴利奇
06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
8
0
现场看路演了!

HiBlock
昨天
19
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
12
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
20
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部