首页 文章

如何知道Jupyter笔记本中运行的是哪个?

提问于
浏览
20

我在浏览器中使用Jupyter笔记本进行Python编程,我已经安装了Anaconda(Python 3.5) . 但是我很确定Jupyter在使用本机python解释器运行我的python命令而不是使用anaconda . 如何更改它并使用Anaconda作为翻译?

谢谢!

Ubuntu 16.10 - Anaconda3

4 回答

  • 0
    import sys
    sys.executable
    

    会给你翻译 . 您可以在创建新笔记本时选择所需的解释器 . 确保将anaconda解释器的路径添加到路径中(最有可能在bashrc / bash_profile中的某个位置) .

    例如,我的.bash_profile中有以下行:

    export PATH="$HOME/anaconda3/bin:$PATH"
    
  • 27

    from platform import python_version print(python_version())

    这将为您提供运行脚本的python的确切版本 . 例如输出:
    3.6.5

  • 6
    import sys
     print(sys.executable)
     print(sys.version)
     print(sys.version_info)
    

    如下所示: - 当我在CONDA venv之外运行JupyterNotebook时的输出

    /home/dhankar/anaconda2/bin/python
    2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:42:40) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
    sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
    

    下面我在使用命令创建的CONDA Venv中运行相同的JupyterNoteBook时看到 -

    conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV
    

    在我的Jupyter笔记本中打印: -

    /home/dhankar/anaconda2/envs/py35/bin/python
    3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:53:06) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
    sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
    

    如果您已经使用不同版本的Python创建了各种VENV,则可以通过在JupyterNotebook菜单中选择KERNEL >> CHANGE KERNEL来切换到所需的内核... JupyterNotebookScreencapture

    还要在现有的CONDA虚拟环境中安装ipykernel -

    http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments

    来源--- https://github.com/jupyter/notebook/issues/1524

    $ /path/to/python -m  ipykernel install --help
     usage: ipython-kernel-install [-h] [--user] [--name NAME]
                              [--display-name DISPLAY_NAME]
                              [--profile PROFILE] [--prefix PREFIX]
                              [--sys-prefix]
    

    安装IPython内核规范 .

    可选参数:-h, - help显示此帮助消息并退出--user安装当前用户而不是系统范围--name NAME指定kernelspec的名称 . 这需要同时拥有多个IPython内核 . --display-name DISPLAY_NAME指定kernelspec的显示名称 . 当您有多个IPython内核时,这很有用 . --profile PROFILE指定要加载的IPython配置文件 . 这可用于创建内核的自定义版本 . --prefix PREFIX指定kernelspec的安装前缀 . 这需要安装到非默认位置,例如conda / virtual-env . --sys-prefix安装到Python的sys.prefix . --prefix ='/ Users / bussonniermatthias / anaconda'的简写 . 用于conda / virtual-envs .

  • 20

    假设您有错误的后端系统,您可以通过在您的jupyter数据路径 jupyter --pathskernels 文件夹中创建新的或编辑现有的 kernel.json 来更改后端 kernel . 你可以有多个内核(R,Python2,Python3(virtualenvs),Haskell),例如你可以创建一个 Anaconda 特定的内核:

    $ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"
    

    应该创建一个新内核:

    <jupyter-data-dir>/kernels/anaconda/kernel.json

    {
        "argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
        "display_name": "Anaconda",
        "language": "python"
    }
    

    您需要确保在anaconda发行版中安装 ipykernel 包 .

    这样您就可以在内核之间切换,并使用不同的内核使用不同的笔记本 .

相关问题