jupyter notebook如何使用虚拟环境?

在Jupyter Notebook中使用虚拟环境可以让你在不同项目中使用不同的Python环境和依赖包。以下是详细的设置方法:

方法一:使用ipykernel(推荐)

1. 创建并激活虚拟环境

复制代码
# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate

2. 安装ipykernel

在激活的虚拟环境中安装:

复制代码
pip install ipykernel

3. 将虚拟环境添加到Jupyter

复制代码
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"
  • --name: 内核名称(内部标识)

  • --display-name: 在Jupyter界面中显示的名称

4. 启动Jupyter Notebook

复制代码
jupyter notebook

在Notebook界面中,通过菜单 Kernel→ Change kernel→ 选择你创建的虚拟环境。

方法二:直接安装jupyter到虚拟环境

1. 创建并激活虚拟环境

复制代码
python -m venv myenv
source myenv/bin/activate  # 或 Windows: myenv\Scripts\activate

2. 在虚拟环境中安装jupyter

复制代码
pip install jupyter

3. 启动Jupyter

复制代码
jupyter notebook

这样启动的Jupyter会自动使用当前虚拟环境的Python解释器。

方法三:使用conda环境

如果你使用Anaconda/Miniconda:

1. 创建conda环境

复制代码
conda create -n myenv python=3.9
conda activate myenv

2. 安装ipykernel

复制代码
conda install ipykernel
# 或者
pip install ipykernel

3. 添加到Jupyter

复制代码
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"

管理内核

查看已安装的内核

复制代码
jupyter kernelspec list

删除内核

复制代码
jupyter kernelspec uninstall myenv

验证环境

在Notebook中运行以下代码验证当前环境:

复制代码
import sys
print(sys.executable)  # 显示Python解释器路径
print(sys.version)     # 显示Python版本

# 检查已安装的包
!pip list

常见问题解决

1. 内核启动失败

如果内核无法启动,尝试重新安装ipykernel:

复制代码
pip install --upgrade ipykernel
python -m ipykernel install --user --force

2. 包导入错误

确保在正确的虚拟环境中安装了所需的包,并在添加内核前激活该环境。

3. 多个Python版本

如果使用多个Python版本,明确指定python路径:

复制代码
/path/to/python -m ipykernel install --user --name=myenv

最佳实践建议

  1. 为每个项目创建独立的虚拟环境

  2. 使用明确的显示名称区分不同环境

  3. 定期清理不需要的内核 :使用 jupyter kernelspec list和 jupyter kernelspec uninstall

  4. 在requirements.txt或environment.yml中记录依赖

这样设置后,你就可以在Jupyter Notebook中轻松切换不同的Python虚拟环境了。

相关推荐
长三角智造观察11 小时前
中小制造ERP+MES选型避坑:对接集成VS原生一体化,深度对比TCO与落地痛点
大数据·人工智能·制造
一水鉴天17 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
198******1263417 小时前
2026 企业 AI 办公产品选型指南:从场景匹配判断工具价值
人工智能
玫瑰互动GEO18 小时前
GEO优化学习九级模型:开发者从认知层切入
人工智能·ai·ai搜索·gem·生成式引擎优化·gem优化
海绵宝宝转agent18 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭18 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
每天都要写算法(努力版)18 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
liron7118 小时前
智能实体演化系统的统一性概念
人工智能·深度学习·神经网络
小小龙学IT18 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
呆萌很18 小时前
常用骨干网络预训练输入尺寸
人工智能