【问题标题】:Configuring Jupyter default imports配置 Jupyter 默认导入
【发布时间】:2016-02-17 01:18:41
【问题描述】:

我如何告诉 Jupyter(控制台和笔记本)默认导入一些 Python 包?我想只使用.jupyter 文件夹来做到这一点

【问题讨论】:

    标签: python jupyter


    【解决方案1】:

    我个人找不到仅使用.jupyter 文件夹的方法。无论如何,您必须在 .ipython 文件夹中指定要在启动时执行的命令:

    1. ~/.ipython/profile_default/ipython_config.py 如果不存在则创建
    2. 添加如下内容:

      c = get_config()
      c.InteractiveShellApp.exec_lines = [
          'import numpy as np\n'
          'import scipy as sp\n'
          'import matplotlib as plt\n'
      ]
      

    您还可以在此处指定任何有效命令,而不仅仅是导入。

    【讨论】:

    • 啊,好吧,由于某种原因,我认为 .ipython 已被 .jupyter 弃用,因为应用程序现在警告我停止输入 ipython。
    • 您知道如何将jupyter 可执行文件指向特定(非全局)配置文件吗?
    • 对于jupyterhub用户,这个文件可以进入/etc/ipython/ipython_config.py,全局应用。
    • 好的,我已经按照上面的步骤操作了,然后运行 ​​jupyter notebook/lab 并没有看到任何加载的默认导入。
    • 从字符串中删除换行符\n 并用逗号分隔可能会更好。毕竟,exec_lines 可能旨在成为单行字符串列表,而不是一个多行字符串列表(目前是)。
    【解决方案2】:

    一点背景:

    • Jupyter 提供控制台和笔记本等 UI/环境。它遵从所谓的内核执行。
    • IPython 为 Jupyter 提供默认 (Python) 内核。
    • Jupyter 配置不会直接影响内核,但每个内核可能有自己的配置。

    IPython 配置位于您的.ipython 目录中。添加代码以在 IPython 启动时运行(影响终端和笔记本中的 IPython 会话)的最快方法是将启动文件添加到您的 IPython 配置文件中。

    1. 创建默认配置文件,如果它不存在(它可能存在):

      ipython profile create
      
    2. 创建一个 Python 脚本 ~/.ipython/profile_default/startup/whateveryouwant.py 并在其中添加任何您希望在启动 IPython 时准备好的导入或其他命令。每次启动时,IPython 都会运行该脚本以及该目录中的任何其他脚本。

    【讨论】:

    • 啊,好吧,由于某种原因,我认为 .ipython 已被 .jupyter 弃用,因为应用程序现在警告我停止输入 ipython。
    • 很抱歉给您带来了困惑。 IPython 仍然存在,它的所有配置和配置文件也是如此。发生的事情是 Notebook 和一些相关组件被移到了一个名为 Jupyter 的 new 项目中。除了能够配置和启动 Jupyter 应用程序(即ipython_notebook_config.pyipython notebook 命令)之外,IPython 的配置中没有任何内容被弃用。当您将 Jupyter Notebook 与 Python 一起使用时,您使用的是 both Jupyter 和 IPython。但是,当您使用其他语言的 Jupyter 笔记本时,例如Julia,你根本没有使用 IPython。
    • 有没有办法在 ipython 启动脚本中指定单元格魔法?我收到一个错误 - “[IPKernelApp] WARNING | Unknown error in handling startup files:” - 直到我从脚本中删除了“%matplotlib inline”行。
    • @gumption 是的,只需使用 .ipy 文件扩展名(而不是 .py)扩展名。
    • 有没有办法添加一些只影响ipython notebook,而不影响ipython终端的启动代码?当我启动 ipython 时,我主要是想做一些快速的事情,所以我想快速启动它,而不需要太多的导入。我在启动notebook的时候想做一些复杂的事情,并且默认导入一些代码,所以稍微慢一点是可以接受的。
    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多