如何在python脚本中执行等效的ipython notebook
和ipython profile
?它应该是直截了当的,但我无法追踪正确的调用。 (除其他外,我盲目地尝试了IPython.start_kernel()
和from IPython.extensions import notebook
以及变体,但到目前为止没有运气。)
在我的情况下,我不能只启动子进程并执行ipython notebook
:我在一个奇怪的配置,我可以从开始菜单(Windows 7)运行python,但不是从命令行或者来自剧本。 (要完全清楚:我确实知道python可执行文件的位置,但是我不能直接执行它。)
答案 0 :(得分:0)
经过一番调查和反思,我认为最好的解决方案是让IPython自己启动笔记本电脑。所以问题是模拟从命令行调用ipython时会发生什么:
% ipython notebook <directory>
IPython是通过一个简短的python脚本从命令行启动的。 我导入它但让它认为它是作为__main__
模块运行的:
import sys, imp
ipython_path = r"/path/to/ipython-script"
sys.argv = [ ipython_path, "notebook" ]
_ipython = imp.load_source('__main__', ipython_path)
要提供与当前目录不同的目录,只需将其添加到sys.argv
作为附加参数:
sys.argv = [ ipython_path, "notebook", "path/to/notebooks" ]
命令行ipython脚本在哪里?
在Windows上,IPython是在ipython_script.py
目录中Scripts
的帮助下启动的(例如,C:\Python27\Scripts\ipython_script.py
)。在OS X上,它可以由python脚本Library/Python/2.7/bin/ipython
启动。 (我通过easy_install安装了IPython;我想可能还有其他配置。)你可以像这样跟踪你的python安装:
import IPython
import inspect
inspect.getsourcefile(IPython)
这是模块的路径,而不是启动器脚本。该脚本将位于附近的目录中。