如何确定Jupyter笔记本中运行的Python版本?

244

我在浏览器中使用Jupyter Notebook进行Python编程,已经安装了Anaconda(Python 3.5)。但是,我相当确定Jupyter正在使用本地的Python解释器而不是Anaconda。如何更改并使用Anaconda作为解释器?


3
您可以找到Jupyter配置的内核设置,并修改Python可执行文件。 - OneCricketeer
我曾经遇到过这个问题,对于你问题的第二部分,我通过使用conda重新安装jupyter来解决它:conda install jupyter - WireInTheGhost
8个回答

381
from platform import python_version

print(python_version())

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

3.6.5

4
应选择此答案作为发布的问题的答案。 - Dark Templar
13
楼主想要找出正在运行的可执行文件(系统/anaconda),而不是版本。P. Camilleri的回答是解决方案。 - MrMartin
1
答案未能回答问题。答案未能用简洁的一行代码打印出活动Python解释器的版本(及相关元数据),例如 from sys import version; version。自然而然地,它获得了240个赞。这很有道理。正如@MrMartin所建议的那样,请查看任何其他答案,而不是这个答案 - Cecil Curry
这是可行的:从平台导入python_version打印(python_version()) - jayanti prasad
这告诉你版本,但它如何告诉你当前运行的Python可执行文件的路径?这似乎更接近 OP 的内容(当我搜索时找到了此页面时正在寻找的内容)。 - sh37211

108
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?” 我们建议选择“yes”。如果您选择“no”,那么conda将不会修改您的shell脚本。为了在安装过程完成后进行初始化,在首先运行source <path to conda>/bin/activate,然后再运行conda init


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

88
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虚拟环境,您可以通过在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-env中使用。

22

您可以使用以下方式检查Python版本

!python -V 
或者
!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

第三步:将此conda环境设置为您的Jupyter笔记本

conda install -c anaconda ipykernel

python -m ipykernel install --user --name=firstEnv

第四步: 只需检查您的Jupyter笔记本,以查看firstEnv


您可以参考这篇文章

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


1
这将返回环境中的主解释器,但是如果Jupyter使用不同的解释器,则会返回错误的版本。例如,如果Jupyter内核正在使用3.10,但同时也安装了3.11并且可以通过“python”命令(作为主要命令)调用,则会返回3.11。 - chjortlund

8

查看 Python 版本

Jupyter 菜单中的 帮助/关于 将展示 Python 版本。


4
假设您的后端系统不正确,您可以通过创建新的或编辑现有的kernel.json来更改后端kernel,并将其放置在jupyter数据路径jupyter --paths下的kernels文件夹中。 您可以拥有多个内核(R,Python2,Python3(+ virtualenvs),Haskell),例如,您可以创建一个Anaconda特定的内核:
$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"

创建新内核:
在 /kernels/anaconda/kernel.json 中创建新的内核。
{
    "argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
    "display_name": "Anaconda",
    "language": "python"
}

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

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


您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Thomas K

2

检查Python版本

import sys
print(sys.version)

-1

为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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接