| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 如何在 JupyterLab 中把 ipykernel 切换到不同的 conda 虚拟环境? -> 正文阅读 |
|
[Python知识库]如何在 JupyterLab 中把 ipykernel 切换到不同的 conda 虚拟环境? |
本文的基础是会使用 conda 配置虚拟环境,欢迎阅读我的文章: 使用 conda 配置虚拟环境与管理安装包。 学了 Anaconda 虚拟环境配置之后,我看到有运行环境配置文件 (environment.yml) 的教程,就想安装虚拟环境试试。本来觉得自己掌握了 conda 配置虚拟环境的各种操作,没想到很快就遇到了新问题。 在“Hands-On Machine Learning with Scikit-Learn, Keras & TensorFLow, 2nd Edition, by Aurelien Geron(O’Reilly)” 这本书的配套代码中 (代码的GitHub地址),作者老师写了详细的安装指南,开始的步骤和 使用 conda 配置虚拟环境与管理安装包 一文中介绍的方法没什么不同,也是用
据说可以设定 Jupyter Notebook 的 kernel,打开 Jupyter 就是 tf2 的环境配置。这让我十分困惑,之前我在虚拟环境(比如这里的 “tf2”)中运行 JupyterLab,import packages 的版本号都对啊。为什么还要再安装 ipykernel 呢?而且,我在使用中突然发现,import packages 引用的库及其版本号还是基于 base 环境,这是怎么回事? stackoverflow 的这篇问答 解答了我的问题。原来,有三种方法可以使用不同虚拟环境配置的 JupyterLab (或 Jupyter Notebook) 。下面结合 tf2 这个例子来说明。 方法一就是上文提到、我以前用的方法。有三步:1.进入虚拟环境 2.安装 jupyterlab 3.在该虚拟环境中,运行 jupyterlab。 安装:
使用:
这个方法简单易行,但是有两个缺点: 1.每次都要先进入这个虚拟环境,再运行代码。 2.每个虚拟环境都要安装 jupyterlab (或 jupyter notebook),其实不同虚拟环境的 jupyter 之间只是运行 python 代码的 kernel 不同(kernel 可以理解为 jupyter 中运行代码所使用的 python 解释器),编辑器等框架部分都相同。 既然这样,可不可以都用 base 环境的框架 (jupyterlab),把里面的 kernel 换一下就好了,这就是方法二的思路。 方法二该方法需要先在虚拟环境中安装 ipykernel 及关联到 Jupyter 中,之后在 base 环境打开 Jupyter ,也可以使用虚拟环境配置了。 安装:
注意:kernel 命名不一定要和虚拟环境名完全相同,比如这里也可以是: 使用: 可以在 base 环境打开 JupyterLab ,如下所示,
通过切换 kernel 即可在 JupyterLab 中使用 tf2 环境配置,而不必进入 tf2 环境中。具体操作为:打开 JupyterLab ,点击 kernel 项,如下图所示,在下拉框中可以看到不同的 kernels,选择当前环境对应的 kernel,比如这里的 “tf2”,即可切换到 tf2 环境。 这其实就挺方便了,在 base 环境中打开 JupyterLab 就可以切换多个环境的 kernel。 能不能进一步简化 kernel 配置?只要虚拟环境装了 ipykernel(可以在新建虚拟环境时安装),就自动配置 kernel,都不用进入虚拟环境中写 方法三安装: 在 base 环境中,输入:
就安装了一个自动化的工具,实现 例如,新建一个名为 “test” 的虚拟环境,新建环境时安装 ipykernel,
然后就不用管了,test 环境的 kernel 会自动生成,是不是很省事呢哈哈。 使用: 和方法二相同,在 base 环境打开 JupyterLab 即可,会看到 kernel 选项新增了 “Python [conda env: test-kernel]”,选择该 kernel ,Jupyter 就使用相应的虚拟环境配置。 如果使用 JupyterLab,在初始页面还会看到新生成的不同 kernels,如下图所示。如果要新建一个 Jupyter Notebook,点击某个 kernel,即可生成一个该虚拟环境配置的空白 .ipynb 文件。 看了上面这三种方法的介绍,你可能已经知道了问题一的答案。为什么要装 ipykernel?这就是方法一和方法二的区别。装了 ipykernel,可以在 base 环境打开 JupyterLab 就使用该虚拟环境配置,而无需每次进入该虚拟环境再打开 JupyterLab。两种方法的效果是相同的。 学习了 ipykernel 之后,可能又会有新的疑问:为什么使用方法一只有默认的 Python3 kernel,没有其它 kernel 可选,那我的环境配置会不会是 base 环境? 不会,我测试了一下,因为方法一是在该虚拟环境中打开 Jupyter,就是用的这个环境配置,你可以用:
查询一下安装 package 的版本,是该虚拟环境而不是 base 环境的版本。 回到问题二,import packages 的版本号还是用的 base 环境,这是怎么回事? 本文对您有帮助的话,请点赞支持一下吧,谢谢! 关注我 宁萌Julie,互相学习,多多交流呀! 参考文章: 配置 kernel 的三种方法: 1.https://stackoverflow.com/questions/58068818/how-to-use-jupyter-notebooks-in-a-conda-environment/58068850 2.https://blog.csdn.net/u014264373/article/details/119390267 JupyterLab 安装 ipykernel : 3.https://zhuanlan.zhihu.com/p/478628221 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:42:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |