gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:53:46 56 4
gpt4 key购买 nike

我希望能够在我的 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 ,但是即使内核在笔记本中也无法正常工作。

我能做什么?

注意:我使用 Arch Linux ,所以我安装了 jupyter virtualenv ,...通过 pacman 而不是 pip 在 Arch.rstrong 中推荐

最佳答案

我自己找到了,很难。无论如何,让我分享一下,以防这对任何人有帮助。

我想,问题在于,通过 pacman 安装的 jupyter notebook 在 PATH 变量中搜索 python 二进制文件,而不是在虚拟环境指定的路径中。由于我在我的主目录中本地安装了 Python 3.7,Jupyter 找不到它,它可能默认为默认的 Python 版本。

所以可能的解决方案是:

  • 在 Python 3.7 上设置的虚拟环境中通过 pip (而不是 pacman )安装 Jupyter Notebook(对于 Arch Linux 用户完全不推荐这样做,因为通过 future 的 pipli 安装软件包可能会导致问题)

     > wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz  
    > tar -xvf Python-3.7.4.tgz
    > cd Python-3.5.1/
    > ./configure --prefix=$HOME/Python37
    > make
    > make install

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

    (py37) > pip install notebook
    (py37) > python -m notebook

  • 在默认目录中安装 Python 3.7(而不是在其他地方指定)。使用合适的虚拟环境创建一个新的 IPython 内核,并使用通过 pacman 安装的 jupyter-notebook 。 (推荐 Arch Linux 用户使用)
    注 1:> python 指向更新的全局 Python 3.8 版本,> python3> python3.7 指向新安装的 Python 3.7
    注 2:创建所需的内核后,您甚至可以在虚拟环境之外使用该 Python 版本。

  •  > wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz  
    > tar -xvf Python-3.7.4.tgz
    > cd Python-3.5.1/
    > ./configure
    > make
    > sudo make install

    > virtualenv -p $(which python3.7) py37
    > source py37/bin/activate

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

  • 将本地安装新 Python 版本的目录路径添加到 $PATH 变量,创建 IPython 内核并在合适的虚拟环境中运行 Jupyter Notebook。 (还没有亲自尝试过这个。只是觉得这应该可行。所以不能保证。我也不认为这是一个好的解决方案)

  •  > wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz  
    > tar -xvf Python-3.7.4.tgz
    > cd Python-3.5.1/
    > ./configure --prefix=$HOME/Python37
    > make
    > make install
    > export PATH="$HOME/Python37/bin:$PATH"

    > virtualenv -p py37
    > source py37/bin/activate

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

    关于python - 如何使用不同版本的 Python 运行 Jupyter Notebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61972717/

    56 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com