繁体   English   中英

如何知道 Jupyter notebook 中运行的是哪个 Python?

[英]How to know which Python is running in Jupyter notebook?

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

from platform import python_version

print(python_version())

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

3.6.5
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

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 指定内核规范的显示名称。 当您有多个 IPython 内核时,这很有用。 --profile PROFILE 指定要加载的 IPython 配置文件。 这可用于创建内核的自定义版本。 --prefix PREFIX 指定内核规范的安装前缀。 这需要安装到非默认位置,例如 conda/virtual-env。 --sys-prefix 安装到 Python 的 sys.prefix。 --prefix='/Users/bussonniermatthias/anaconda' 的简写。 用于 conda/virtual-envs。

您可以使用检查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 笔记本上设置此 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

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

通过这种方式,您可以在内核之间切换,并使用不同的内核拥有不同的笔记本。

查看 Python 版本

Jupyter 菜单 help/about 将显示 Python 版本

为 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

检查 Python 版本

导入系统打印(sys.version)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM