【问题标题】:How to know which Python is running in Jupyter notebook?如何知道 Jupyter notebook 中运行的是哪个 Python?
【发布时间】:2017-04-03 08:01:41
【问题描述】:

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

【问题讨论】:

  • 您可以找到 Jupyter 配置的内核设置并修改 python 可执行文件

标签: python anaconda jupyter-notebook jupyter


【解决方案1】:
import sys
sys.executable

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

例如,我曾经在我的 .bash_profile 中有以下行,是我手动添加的:

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

编辑:正如评论中提到的,这不是将 anaconda 添加到路径的正确方法。引用 Anaconda 的文档,这应该在安装后使用 conda init 来完成:

我应该将 Anaconda 添加到 macOS 还是 Linux PATH 中?

我们不建议手动将 Anaconda 添加到 PATH 中。期间 安装时,系统会询问您“您希望安装程序 通过运行 conda init 来初始化 Anaconda3?”我们建议“是”。如果 你输入“no”,那么 conda 根本不会修改你的 shell 脚本。 为了在安装过程完成后进行初始化,首先 运行source <path to conda>/bin/activate,然后运行conda init

【讨论】:

  • 我在 Spyder 中运行它并没有结果,但 Jupyter 没问题。我想知道为什么?
  • Conda 文档建议不要像这样添加到 PATH。
  • @AMC 你是对的,谢谢。我已经编辑指向conda init
  • 运行sys.executable 返回'C:\\Program Files\\Anaconda3\\python.exe' - 不是很有用。我们已经知道它是 Python(来自 OP 的标题),我们想知道的是正在使用的 Python 版本。谢谢。
  • @Confounded 你的机器上可能有不同版本的不同解释器。 OP 询问的是调用了哪个解释器,而不是哪个版本。
【解决方案2】:

假设您有错误的后端系统,您可以通过在 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"

应该创建一个新内核:

&lt;jupyter-data-dir&gt;/kernels/anaconda/kernel.json

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

您需要确保在 anaconda 发行版中安装了 ipykernel 软件包。

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

【讨论】:

【解决方案3】:
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 Notebook 中打印:-

/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 指定内核规范的名称。这是需要 同时拥有多个 IPython 内核。 --display-name DISPLAY_NAME 指定 kernelspec 的显示名称。这是 当你有多个 IPython 内核时很有帮助。 --profile PROFILE 指定要加载的 IPython 配置文件。这个可以用 创建内核的自定义版本。 --prefix PREFIX 指定内核规范的安装前缀。这是 需要安装到非默认位置,例如 conda/虚拟环境。 --sys-prefix 安装到 Python 的 sys.prefix。的简写 --prefix='/用户/bussonniermatthias/anaconda'。用来 在 conda/virtual-envs 中。

【讨论】:

    【解决方案4】:
    from platform import python_version
    
    print(python_version())
    

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

    3.6.5
    

    【讨论】:

    • 这应该被选为已发布问题的答案。
    • OP 要求查找正在运行的可执行文件(system/anaconda),而不是哪个版本。 P. Camilleri 的答案是解决方案
    • Answer 无法回答问题。答案无法使用像from sys import version; version 这样的简洁单行符简洁地打印活动 Python 解释器的版本(和相关元数据)。自然地,随之而来的是 240 次投票。说得通。正如@MrMartin 所建议的那样,实际上可以看到除此之外的任何其他答案。
    【解决方案5】:

    为 Jupyter Notebooks 创建虚拟环境

    最小的 Python 安装是

    sudo apt install python3.7 python3.7-venv python3.7-minimal python3.7-distutils python3.7-dev python3.7-gdbm python3-gdbm-dbg python3-pip
    

    然后就可以创建和使用环境了

    /usr/bin/python3.7 -m venv test
    cd test
    source test/bin/activate
    pip install jupyter matplotlib seaborn numpy pandas scipy
    # install other packages you need with pip/apt
    jupyter notebook
    deactivate
    

    你可以为 Jupyter 制作一个内核

    ipython3 kernel install --user --name=test
    

    【讨论】:

      【解决方案6】:

      检查 Python 版本

      导入系统 打印(系统版本)

      【讨论】:

        【解决方案7】:

        您可以使用检查 python 版本

        !python -V
        

        Python 3.6.5 :: Anaconda, Inc.

        或者

        !python --version
        

        Python 3.6.5 :: Anaconda, Inc.


        您可以将 Conda 环境添加到您的 jupyter notebook

        第 1 步:创建 Conda 环境。

        conda create --name firstEnv
        

        步骤 2:使用控制台中显示的命令激活环境。

        conda activate firstEnv
        
        conda install -c conda-forge <package-name>
        

        例如

        conda install -c conda-forge tensorflow
        

        第 3 步:在你的 jupyter notebook 上设置这个 conda 环境

        conda install -c anaconda ipykernel
        
        python -m ipykernel install --user --name=firstEnv
        

        第 4 步:只需检查您的 Jupyter Notebook,即可查看 firstEnv


        你可以参考这篇文章

        https://medium.com/@nrk25693/how-to-add-your-conda-environment-to-your-jupyter-notebook-in-just-4-steps-abeab8b8d084

        【讨论】:

          【解决方案8】:

          查看 Python 版本

          Jupyter 菜单帮助/关于将显示 Python 版本

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-11-02
            • 1970-01-01
            • 1970-01-01
            • 2017-12-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多