我有一个用 Python 编写的基于 GUI(TraitsUI/PyQt/Envisage)的应用程序。我想生成一个 IPython Notebook,我在其中公开了一个小 API 和一些对象。这些对象包括一个 SQLAlchemy 会话和一堆 SQLAlchemy 模型。
我看了很多,但我找不到任何这样的例子。我可以开始一个笔记本:
from IPython.frontend.html.notebook import notebookapp
app = notebookapp.NotebookApp.instance()
app.initialize()
app.start()
并且效果很好(虽然我更喜欢'start'是非阻塞的......我假设如果需要我可以在另一个线程中完成它),但我不能改变命名空间。
我还发现了这样的例子:
from IPython.zmq.ipkernel import IPKernelApp
namespace = dict(z=1010)
kapp = IPKernelApp.instance()
kapp.initialize()
# Update the ns we want with special variables auto-created by the kernel
namespace.update(kapp.shell.user_ns)
# Now set the kernel's ns to be ours
kapp.shell.user_ns = namespace
kapp.start()
但我不确定如何从这里实际打开笔记本。
有人有什么建议吗?
谢谢!