[英]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 -
$ /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 -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
你可以参考这篇文章
假设您有错误的后端系统,您可以通过在 jupyter 数据路径jupyter --paths
的kernels
文件夹中创建新的或编辑现有的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
包。
通过这种方式,您可以在内核之间切换,并使用不同的内核拥有不同的笔记本。
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
导入系统打印(sys.version)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.