ipython和python怎么用_如何使用IPython重新加载和自动加载?

我刚安装了ipython0.13.1,遇到了两个问题。我有一个小的“demo”项目,其中包含一个名为“app”的应用程序:.

├── app

│   ├── __init__.py

│   ├── __init__.pyc

│   ├── models.py

│   ├── models.pyc

│   ├── tests.py

│   └── views.py

├── demo

│   ├── __init__.py

│   ├── __init__.pyc

│   ├── settings.py

│   ├── settings.pyc

│   ├── urls.py

│   └── wsgi.py

└── manage.py

在模型.py包含:

^{pr2}$

我的第一个问题是重新加载模型.py在我做了更改后归档。如果我打开IPython,导入我的Customer类,并尝试重新加载models模块,我会得到以下错误:In [1]: from app.models import Customer

In [2]: reload(app.models)

--------------------------------------------------

NameError Traceback(most recent call last)

/Users/me/dotfiles/.virtualenvs/demo/lib/.../shell.pyc in ()

----> 1 reload(app.models)

NameError: name 'app' is not defined

虽然我是Python的新手,但我相信“models”是这个模块,而且它在我安装的应用程序设置中。我也尝试了重新加载(应用)和重新加载(模型),但没有成功。我做错什么了?在

我的第二个问题是使用autoreload。在阅读了doc页面之后,我是这样启用的:In [1]: %load_ext autoreload

In [2]: %autoreload 2

现在如果我创建一个测试文件'食品'如文档所示,其中包含一些函数,我对该函数所做的任何更改都会反映在IPython中。但是如果我导入我的Customer类(如上所示)并在其中添加第二个字段“lname”并保存文件,IPython中不会反映这种更改。如果我运行命令,“客户??”,更改没有出现。另外,如果我运行aimport命令,我会看到:In [5]: %load_ext autoreload

In [6]: %autoreload 2

In [7]: %aimport

Modules to reload:

all-except-skipped

Modules to skip:

我做错什么了?这就是讨论的AppCache问题here?我尝试实现显示的脚本,但当我运行它时,它会抛出错误。谢谢。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>