用python文件启动ipython notebook

时间:2014-10-13 11:15:25

标签: python ipython

我对python / ipython不是很熟悉,但是有人问我是否可以用特定的python文件启动ipython笔记本。然后它可以用于调试。 然后另一个软件会在temp文件夹中创建一个.py文件,并用这个文件调用一个ipython笔记本。 它有可能还是有意义呢?

4 个答案:

答案 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)

由于问题非常广泛并且需要建议,以下是我的建议:

  1. 跨平台nbopen,使用命令行或可选的资源管理器集成打开ipynb:
  2. https://github.com/takluyver/nbopen

    请注意,我有一张完整的Windows资源管理器集成的开放票证:

    https://github.com/takluyver/nbopen/issues/12

    [从github页面复制]

    安装:

    pip install nbopen
    

    用法:

    nbopen AwesomeNotebook.ipynb
    
    1. 运行ipynb而不启动浏览器界面,有许多有用的选项:
    2. 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更改为自己的