我刚安装了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?我尝试实现显示的脚本,但当我运行它时,它会抛出错误。谢谢。在