当前位置: 首页 > news >正文

2.jupyter切换使用conda虚拟环境的最佳方法

服务器上配置有多个 conda 虚拟环境,在使用jupyter notebook时需要使用其中的一个环境,但是其默认是使用 base 环境。

我们该怎么切换环境呢。

Jupyter 在一个名为 kernel 的单独进程中运行用户的代码。kernel 可以是不同的 Python 安装在不同的 conda 环境或虚拟环境,甚至可以是不同语言(例如 Julia 或 R)的解释器。

简而言之,如何使用 conda 环境和 Jupyter 有三种选择:

  • 1.在 conda 环境中运行 Jupyter 服务器和内核
  • 2 为 conda 环境创建特殊内核
  • 3 使用 nb_conda_kernels 添加所有环境

1 和 2操作复杂,第一种方法要为每个conda环境都要装jupyter;第二种方法其实也挺不错的。有个缺点是,你新建一个环境,就要重复操作一次。

方法1:

conda create -n my-conda-env   # creates new virtual env
conda activate my-conda-env    # activate environment in terminal
conda install jupyter     # install jupyter + notebook
jupyter notebook       # start server + kernel

方法2:

conda create -n my-conda-env    # creates new virtual env
conda activate my-conda-env     # activate environment in terminal
conda install ipykernel      # install Python kernel in new conda env
ipython kernel install --user --name=my-conda-env-kernel  # configure Jupyter to use Python kernel
jupyter notebook      # run jupyter from system

方法3(推荐):

而这个方法就是一键添加所有 conda 环境,且不妙哉!

1. 激活项目环境并安装 IPython 内核

conda activate my-conda-env    # 激活名为 my-conda-env 的 Conda 环境,这是你项目的主环境
conda install ipykernel        # 在该环境中安装 ipykernel,它允许 Jupyter 连接到这个环境的 Python 解释器
conda deactivate               # 退出当前环境,回到基础环境或之前的环境

作用:将项目环境注册为 Jupyter 可用的内核,以便在 Notebook 中选择该环境的 Python。

2. 在基础环境中安装 nb_conda_kernels 并启动 Jupyter

conda activate base            # 激活 Conda 的基础环境(也可以是其他已安装 Jupyter 的环境)
conda install nb_conda_kernels # 安装 nb_conda_kernels 插件,它会自动识别所有 Conda 环境并添加到 Jupyter 的内核列表中
jupyter notebook               # 启动 Jupyter Notebook 服务器,此时可以在浏览器中选择不同环境的内核

作用:在 Jupyter 中添加对所有 Conda 环境的支持,使你能够在同一个 Notebook 界面中切换不同环境的 Python 内核。

工作原理

  1. ipykernel:每个 Conda 环境需要安装 ipykernel 才能作为 Jupyter 内核被识别。
  2. nb_conda_kernels:在 Jupyter 所在环境(通常是 base)中安装该插件后,它会自动扫描所有 Conda 环境,并将已安装 ipykernel 的环境添加到 Jupyter 的内核选择菜单中。
  3. 内核切换:启动 Jupyter 后,在 Notebook 的顶部菜单中选择 Kernel → Change kernel,即可切换到不同 Conda 环境的 Python。
http://www.lqws.cn/news/476749.html

相关文章:

  • 【DataWhale组队学习】AI办公实践与应用
  • Mysql—锁相关面试题(全局锁,表级锁,行级锁)
  • SpringCloudGateway(spel)漏洞复现 Spring + Swagger 接口泄露问题
  • 大零售生态下开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新研究
  • Python 前端框架/工具合集
  • python实战项目77:足球运动员数据分析
  • 《高等数学》(同济大学·第7版)第五章 定积分 第三节积分的换元法和分部积分法
  • 在windows上使用file命令
  • 多团队并行作业时,如何清晰划分职责边界
  • 统计用户本月的连续登录天数
  • 二十四:ai服饰+模特
  • 企业架构与IT架构关系的探讨
  • 医疗诊断中的异常检测实战——基于AutoEncoder与One-Class SVM的少样本学习
  • EM求解的高斯混合模型——Q函数的极大似然估计(八)
  • Python 使用 Requests 模块进行爬虫
  • ROS 2 中 Astra Pro 相机与 YOLOv5 检测功能编译启动全记录
  • requests 库最佳实践速查表
  • DeepSeek13-open-webui Pipelines编写和部署
  • Ubuntu20.04通过ssh协议配置远程终端
  • 测试模板x
  • WebRTC(七):媒体能力协商
  • MATLAB GUI界面设计 第一章——初识APP Designer
  • 跨域问题说明
  • MaxStateSuper模型详解与实现
  • langchain从入门到精通(十三)——Runnable组件
  • Java面试复习:Java基础、OOP与并发编程精要
  • synchronized 关键字深度解析
  • SAP顾问职位汇总(第25周)
  • SAP金属行业解决方案:无锡哲讯科技助力企业数字化转型与高效运营
  • Vui:轻量级语音对话模型整合包,让交互更自然