如何使用不同版本的Python运行Jupyter Notebook?

问题描述 投票:0回答:1

我希望能够在Jupyter Notebook中同时运行Python 3.8(当前版本)和Python 3.7。我知道从虚拟环境创建不同的IPython内核是这样的。因此,我下载了Python 3.7,并将其本地安装在主目录中。使用此python二进制文件通过[]创建虚拟环境

> virtualenv -p ~/Python3.7/bin/python3 py37
> source py37/bin/activate

这非常有效,并且在通过python --versionsys.version检查时正确给出了“ Python 3.7”。然后用于创建IPython内核,

(py37) > ipython kernel install --user --name py37 --display-name "Python 3.7"
(py37) > jupyter notebook

这也可以正常运行,并且可以确认已将内核添加到笔记本中。但是,它不像虚拟环境那样运行Python 3.7,而是像默认内核一样运行python 3.8。 (用sys.version确认)

我检查了~/.local/share/jupyter/kernels/py37/kernel.json,并看到其内容为

{
 "argv": [
  "/usr/bin/python3",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3.7",
 "language": "python"

因此,我自然地尝试编辑/usr/bin/python3以指向我的Python 3.7二进制文件路径,即~/Python3.7/bin/python3,但即使在笔记本中,内核也无法正常工作。

我该怎么办?

NB:我使用Arch Linux

,所以我通过pacman而不是pip安装了[[jupyter,virtualenv,...”,而不是Arch推荐的。] >我希望能够在Jupyter Notebook中同时运行Python 3.8(当前版本)和Python 3.7。我知道从虚拟环境创建不同的IPython内核是这样的。所以我下载了...
python linux jupyter-notebook jupyter archlinux
1个回答
0
投票
我自己找到了,很难。让我仍然分享,以防万一。

我猜,问题在于,通过

pacman

安装的jupyter笔记本在PATH变量中而不是在虚拟环境指定的路径中搜索python二进制文件。由于我是在本地目录中本地安装Python 3.7的,因此Jupyter找不到它,它可能默认为默认的python版本。
© www.soinside.com 2019 - 2024. All rights reserved.