在Python程序中启动IPython,连接到IPython Notebook。

3

我认为可以在Python程序中嵌入IPython实例,并通过控制台/笔记本/qt-console“连接”到它们。我尝试了IPython文档,但没有找到相关信息。

我希望在一个“普通”的Python程序中启动IPython,让它能够访问程序的命名空间,在关闭/退出笔记本后继续Python程序。

dataframe = run_some_program_get_data()

# start IPython with access to 'dataframe'

# continue program with dataframe  
dataframe.to_csv('file.txt')

我如何在普通的Python程序中启动IPython内核?以及我如何设置IPython笔记本连接到哪个内核?


尝试使用ipdb,在需要与脚本进行交互的地方设置跟踪点,使用ipdb.set_trace()。 - Denis
我会研究一下。实现我所描述的内容并不是一件很直接的事情,对吧?我已经搜索了很多,但没有任何进展。 - Martin Preusse
但看起来很相似,无论如何我不知道如何帮助你解决ipython笔记本的问题,抱歉。 - Denis
嘿,你成功连接到网页模板中的iPython了吗? - ytsejam
1个回答

0

我正在运行最新的IPython 2.1和Anaconda 2.0.1。

这个页面上有一些指南,可以帮助您设置一个IPython实例以进行托管。以下是如何调整此设置以在本地运行:

在终端/命令提示符中运行“ipython profile create nbserver

在刚创建的配置文件目录中(通常为~/.ipython/profile_nbserver),编辑文件ipython_notebook_config.py。默认情况下,该文件的所有字段都被注释掉了;您需要取消注释并编辑的最小集合如下:

c = get_config()

# Kernel config
c.IPKernelApp.pylab = 'inline'  # if you want plotting support always

# Notebook config
c.NotebookApp.ip = '*'               #or keep it 'localhost'
c.NotebookApp.open_browser = False
# It is a good idea to put it on a known, fixed port
c.NotebookApp.port = 9999

然后打开2个终端/命令提示符,以便您可以检查它是否正常工作。在第一个终端中输入以下内容(两行均不要输入下划线)

ipython console -i --profile nbserver

然后在那个窗口中输入 a = 1

还有第二个

ipython console -i --profile nbserver --existing

输入 print(a)

是的... 你可以用 "notebook" 或者 "qtconsole" 替换 "console" 这个词 (但是对于 qt-console,去掉 -i 开关)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接