我对python / ipython不是很熟悉,但是有人问我是否可以用特定的python文件启动ipython笔记本。然后它可以用于调试。 然后另一个软件会在temp文件夹中创建一个.py文件,并用这个文件调用一个ipython笔记本。 它有可能还是有意义呢?
答案 0 :(得分:2)
如果您正在谈论通过Python启动iPython笔记本服务器,我使用它:
#!/usr/bin/env python
from IPython.terminal.ipapp import launch_new_instance
from IPython.lib import passwd
from socket import gethostname
import warnings
warnings.filterwarnings("ignore", module = "zmq.*")
sys.argv.append("notebook")
sys.argv.append("--IPKernelApp.pylab='inline'")
sys.argv.append("--NotebookApp.ip=" + gethostname())
sys.argv.append("--NotebookApp.open_browser=False")
sys.argv.append("--NotebookApp.password=" + passwd())
launch_new_instance()
显然,如果你愿意,你可以改变论点。
在我的工作中,我们有一个用例就是你所说的 - 自动生成一个python文件,然后加载一个新的ipython服务器供用户访问它。但是,这是一个非常特殊的用例 - 对于正常的调试,我建议只是在iPython中启动而不是制作* .py文件,直到错误消失。
或强> 的
如果您正在谈论实际上自动导航到与ipython笔记本服务器提供的python文件相对应的页面,那么(1)确保您使用的是ipython 2,并且(2)找出你的内容“我想要的网址是(它应该是确定性的)”和(3)使用webbrowser module导航到该网址。
答案 1 :(得分:1)
由于问题非常广泛并且需要建议,以下是我的建议:
https://github.com/takluyver/nbopen
请注意,我有一张完整的Windows资源管理器集成的开放票证:
https://github.com/takluyver/nbopen/issues/12
[从github页面复制]
安装:
pip install nbopen
用法:
nbopen AwesomeNotebook.ipynb
https://github.com/paulgb/runipy
[从github页面复制]
安装:
$ pip install runipy
要将.ipynb文件作为脚本运行,请运行:
$ runipy MyNotebook.ipynb
要将每个单元格的输出保存回笔记本文件,请运行:
$ runipy -o MyNotebook.ipynb
要将笔记本电脑输出保存为新笔记本,请运行:
$ runipy MyNotebook.ipynb OutputNotebook.ipynb
要运行.ipynb文件并生成HTML报告,请运行:
$ runipy MyNotebook.ipynb --html report.html
答案 2 :(得分:0)
要启动具有特定笔记本目录的ipython笔记本,请使用--notebook-dir
命令行选项:
ipython notebook --notebook-dir=/Users/harold/temp/
答案 3 :(得分:0)
import subprocess, os
def executeJupyter():
env_dir = "../main_env_dir/"
os.chdir(env_dir)
# source jupyter_env/bin/activate
env_activate = "jupyter_env/bin/activate_this.py"
activate_env = exec(open(env_activate).read(), {'__file__': env_activate})
# Open jupyter notebook as a subprocess
openJupyter = "jupyter notebook"
subprocess.Popen(openJupyter, shell=True)
executeJupyter()
请确保将env_dir
(具有jupyter笔记本的env的目录)和env_activate
更改为自己的