ipython和python怎么用_如何使用IPython重新加载和自动加载?
我剛安裝了ipython0.13.1,遇到了兩個(gè)問題。我有一個(gè)小的“demo”項(xiàng)目,其中包含一個(gè)名為“app”的應(yīng)用程序:.
├── 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}$
我的第一個(gè)問題是重新加載模型.py在我做了更改后歸檔。如果我打開IPython,導(dǎo)入我的Customer類,并嘗試重新加載models模塊,我會(huì)得到以下錯(cuò)誤: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”是這個(gè)模塊,而且它在我安裝的應(yīng)用程序設(shè)置中。我也嘗試了重新加載(應(yīng)用)和重新加載(模型),但沒有成功。我做錯(cuò)什么了?在
我的第二個(gè)問題是使用autoreload。在閱讀了doc頁(yè)面之后,我是這樣啟用的:In [1]: %load_ext autoreload
In [2]: %autoreload 2
現(xiàn)在如果我創(chuàng)建一個(gè)測(cè)試文件'食品'如文檔所示,其中包含一些函數(shù),我對(duì)該函數(shù)所做的任何更改都會(huì)反映在IPython中。但是如果我導(dǎo)入我的Customer類(如上所示)并在其中添加第二個(gè)字段“l(fā)name”并保存文件,IPython中不會(huì)反映這種更改。如果我運(yùn)行命令,“客戶??”,更改沒有出現(xiàn)。另外,如果我運(yùn)行aimport命令,我會(huì)看到:In [5]: %load_ext autoreload
In [6]: %autoreload 2
In [7]: %aimport
Modules to reload:
all-except-skipped
Modules to skip:
我做錯(cuò)什么了?這就是討論的AppCache問題here?我嘗試實(shí)現(xiàn)顯示的腳本,但當(dāng)我運(yùn)行它時(shí),它會(huì)拋出錯(cuò)誤。謝謝。在
總結(jié)
以上是生活随笔為你收集整理的ipython和python怎么用_如何使用IPython重新加载和自动加载?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 又重新让aspspider.net支持中
- 下一篇: FTP 和HTTP