我希望能够在我的 Jupyter Notebook 中同时运行Python 3.8(当前版本)和Python 3.7。我知道从虚拟环境创建不同的 IPython 内核是一种方法。所以我下载了 Python 3.7 并将其本地安装在我的主目录中。使用这个 python 二进制文件来创建一个虚拟环境
> virtualenv -p ~/Python3.7/bin/python3 py37
> source py37/bin/activate
Run Code Online (Sandbox Code Playgroud)
这完美地工作,并在检查python --version和 时正确给出“Python 3.7” sys.version。然后为了创建 IPython 内核,
(py37) > ipython kernel install --user --name py37 --display-name "Python 3.7"
(py37) > jupyter notebook
Run Code Online (Sandbox Code Playgroud)
这也没有错误地运行,并且可以确认内核已添加到笔记本中。然而,它不像虚拟环境那样运行 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"
Run Code Online (Sandbox Code Playgroud)
所以很自然地,我尝试编辑/usr/bin/python3指向我的 Python 3.7 二进制文件路径 …