我希望能够在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 --version
和sys.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内核是这样的。所以我下载了...我猜,问题在于,通过
pacman
安装的jupyter笔记本在PATH变量中而不是在虚拟环境指定的路径中搜索python二进制文件。由于我是在本地目录中本地安装Python 3.7的,因此Jupyter找不到它,它可能默认为默认的python版本。