【问题标题】:How to start an ipython shell(not notebook) within a conda or virtualenv如何在 conda 或 virtualenv 中启动 ipython shell(不是笔记本)
【发布时间】:2017-01-31 11:21:20
【问题描述】:

是否可以在 conda 或 virtualenv 中启动 ipython shell(在终端中)? ipython shell 应该属于各自的环境。

我知道一种在 env 中启动 jupyter notebook 的方法,方法是为虚拟 env 创建内核规范,然后在 jupyter notebook 中选择 env 内核。

这里是链接:http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs

但这只是为当前环境设置了 jupyter notebook。有没有为 ipython shell 做同样的事情

【问题讨论】:

    标签: shell ipython ipython-notebook jupyter-notebook jupyter


    【解决方案1】:

    Grisha Levit 给出的答案几乎解决了这个问题。所以,我正在写答案的完整细节,如何在特定环境中设置 ipython 控制台。

    1.) 激活虚拟环境:

    source activate <environment-name>
    

    2.) 从虚拟环境中:

    jupyter kernelspec install-self --user
    

    3.) 这将为您的虚拟环境创建一个内核规范并告诉您它在哪里:

    • 在 home/username/.local/share/jupyter/kernels/pythonX 中安装了 kernelspec pythonX

    其中 pythonX 是 virtualenv 中 python 的版本。

    4.) 将新的内核规范复制到有用的地方。为你的新内核选择一个 kernel_name,它不是 python2 或 python3 或者你之前使用过的内核:

    mkdir -p ~/.ipython/kernels
    mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/<kernel_name>
    

    5.) 如果您想更改 IPython 显示的内核名称,您需要编辑 ~/.ipython/kernels//kernel.json 并将名为 display_name 的 JSON 键更改为您喜欢的名称.

    6.) 在 vi​​rtualenv 中运行 jupter/ipython 控制台。

    jupyter console --kernel <kernel-name>
    

    7.) 这将为当前 virtualenv 启动 jupyter 控制台/shell,您还可以在 IPython 笔记本菜单中看到内核:内核 -> 更改内核并能够切换到它(您可能需要刷新页面在它出现在列表中之前)。从那时起,IPython 会记住该笔记本使用哪个内核。

    【讨论】:

    • 我有一个奇怪的行为,即 ipython 控制台工作正常,但 qtconsole 没有加载正确的内核。这种方法已经解决了。
    【解决方案2】:

    我知道一种在 env 中启动 jupyter notebook 的方法,方法是为虚拟 env 创建一个 kernelspecs,然后在 jupyter notebook 中选择 env 内核。

    你只需要做同样的事情,但使用console而不是notebook

    例如:

    ipython console --kernel python2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 2014-09-16
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2016-02-22
      相关资源
      最近更新 更多