【问题标题】:How to add python 3.6 kernel alongside 3.5 on jupyter如何在 jupyter 上添加 python 3.6 内核和 3.5
【发布时间】:2017-05-03 12:06:55
【问题描述】:

我正在尝试在 Python 3.6 上测试一些代码,但我的系统默认 python 版本是 python 3.5 我已经安装了 python 3.6 并尝试按照 jupyter 文档安装新的 python 内核

python3.6 -m pip install ipykernel
python3.6 -m ipykernel install --user

但它不起作用,因为它继续在菜单中显示单个内核:Python3

有没有人设法在同一个 jupyter 安装中同时拥有 3.5 和 3.6?

【问题讨论】:

    标签: python ipython jupyter


    【解决方案1】:

    一个选项是创建一个可以在 jupyter notebook 中使用的内核。

    您可以在虚拟环境中执行此操作:

    1. 打开终端,一行一行输入以下内容

      virtualenv -p python3.6 py_36_env

      source py_36_env/bin/activate

      pip install ipykernel

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

      jupyter notebook

    2. 然后在 jupyter notebook 中,您可以从上面显示的“New”下拉菜单或给定 jupyter notebook 中的“Kernel”下拉菜单中选择 3.6 环境 (py_36_env)。

    【讨论】:

    • 如果我们没有 virtualenv 怎么办?
    • 您不想使用它吗?还是你没有?如果没有,可以直接 pip 安装 virtualenv。
    • 不,它只会带来复杂性。我只想要一个环境。
    • 啊好吧,是的,我不知道没有 virtualenv 怎么办,你可能想把这个问题作为一个新帖子来问。
    • @Schütze virtualenv 不是必需的。 ipykernel install 使用您用来运行它的 Python 二进制文件注册 Python 内核。见Running Jupyter with multiple Python and IPython paths。例如,此命令使用 Python 3.9 注册新内核:python3.9 -m ipykernel install --user --name python3.9
    【解决方案2】:

    在 Windows 中安装 Python 3.6 的步骤

    1. 打开命令提示符
    2. conda install ipykernel
    3. conda create -n Python3.6Test python=3.6
    4. 激活 Python3.6Test
    5. pip install ipykernel
    6. python -m ipykernel install --name Python3.6Test

    3.6 C:\ProgramData\jupyter\kernels\Python3.6Test

    现在打开 Jupitor Notebook 看看,你会得到 Python3.6Test 选项

    【讨论】:

      【解决方案3】:

      以下对我有用:

      命令在 Jupyter Notebook 中执行(操作系统:Ubuntu 16.04 LTS)

      升级点数:

      !pip install --upgrade pip
      

      安装虚拟环境:

      !pip install virtualenv
      

      选择您要在新环境中使用的 Python 版本:

      我想用 Python 3.6 版本创建一个环境,命名为 Python_3_6:

      !virtualenv -p python3.6 Python_3_6
      

      执行后,这将在当前工作目录(即 Jupyter notebook 所在的位置)中创建一个同名文件夹

      使用创建的环境名称创建一个新选项

      最后,运行以下命令:

      !python -m ipykernel install --user --name=Python_3_6
      

      这将在我们创建新笔记本的菜单中创建一个名为 Python_3_6 的新选项。

      注意:也可以从终端运行以上命令,但不要使用“!”在命令之前。

      【讨论】:

        【解决方案4】:

        这是一个老问题,但像这里的一些评论者一样,我想在不使用 venv 的情况下完全更改 default jupyter。似乎 jupyter 将其保存在一个名为 kernel.json 的 json 文件中:

        {
         "display_name": "Python 3",
         "language": "python",
         "argv": [
          "/path/to/some/python",
          "-m",
          "ipykernel_launcher",
          "-f",
          "{connection_file}"
         ]
        }
        

        可能有多个包含此文件的路径按顺序搜索。要找出它们在您的机器上的内容,请运行:

        ipython kernel install --prefix tmp
        

        ipython 会发出警告,说明配置文件正在 tmp 中创建,可能找不到,但它也会输出用于查找 kernel.json 的路径,然后您可以手动编辑。

        【讨论】:

        • 在我的情况下,只需编辑 kernel.json 以指向 python 3.6 工作
        【解决方案5】:

        您应该为您使用的每个 Python 版本创建一个 virtualenv。为 Python 3.5 创建一个:

        virtualenv -p /usr/bin/python3.5 py35
        source py35/bin/activate
        pip install jupyter
        jupyter               # Jupyter running Python 3.5
        deactivate           # Leave virtualenv
        

        并为 Python 3.6 创建一个:

        virtualenv -p /usr/bin/python3.6 py36
        source py36/bin/activate
        pip install jupyter
        jupyter               # Jupyter running Python 3.6
        

        【讨论】:

        • 我已经尝试过了,即使 jupyter 使用正确版本的 python 启动,python 3.6 也无法(找到)导入我在 virtualenv 中安装的包。
        • 你还需要安装所有其他包
        • 对了,忘了说virtualenv没问题,我可以运行ipython并导入我安装的库。它只是在笔记本中,它无法导入任何东西。所以我认为这可能是 jupyter-notebook 中的 sys.path 的问题。
        • 如何启动笔记本?你会在笔记本中更改sys.path 吗?
        【解决方案6】:
        • 上面的解决方案在我的情况下不起作用!!
        • 我想在 python3.8 中执行代码,但不幸的是我之前安装了 pytohn3.6
        • 我创建并激活了 python3.8 的 virtualenv,但在 lib 安装过程中,所有包都安装在 python3.6 的 virtualenv 中
        • 解决方法是我删除了python3.6 env & Setup 一个新的 Jupyter 内核方式。之后,我的代码愉快地执行并需要在 python3.8 的 virtualenv 中安装 lib

        【讨论】:

          【解决方案7】:

          对于 Windows 用户:

          要将 python 3.x ipykernel 添加到名为“Python 3.x”的 jupyter notebook,显示为“Python 3.x”,请在基本环境中打开终端(例如 Anaconda Prompt)并输入以下行行。

          对于 Python 3.10 ipykernel:

          conda create -n py310 python=3.10 ipykernel
          conda activate py310
          python -m ipykernel install --user --name=py310 --display-name "Python 3.10"
          

          对于 Python 3.7.7 ipykernel:

          conda create -n py377 python=3.7.7 ipykernel
          conda activate py377
          python -m ipykernel install --user --name=py377 --display-name "Python 3.7"
          

          然后关闭特定环境并返回基本环境,并输入jupyter notebook。打开后,点击右上角的“新建”下拉菜单,您会看到以下内容:

          然后检查是否安装了正确的 Python,打开一个新的笔记本并运行:

          from platform import python_version
          print(python_version())
          

          对于 Python 3.10:

          对于 Python 3.7.7

          要删除特定内核,您可以在基本环境的终端中运行以下命令:

          jupyter kernelspec uninstall <kernel name>
          

          【讨论】:

            猜你喜欢
            • 2015-05-04
            • 2016-05-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-06-07
            • 2015-05-16
            • 2021-12-06
            相关资源
            最近更新 更多