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界面中,通过菜单 KernelChange 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 listjupyter kernelspec uninstall

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

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

相关推荐
码界筑梦坊几秒前
130-基于Python的体育用品销售数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计
2的n次方_几秒前
健身 Agent:不止视频,更有 AI 人物实时跟练交互
人工智能·音视频·交互·魔珐星云
前端不太难几秒前
CPU+GPU:开启AI推理新时代
人工智能·状态模式
chian-ocean1 分钟前
创业者实操:10 分钟搭建可商业化的交互型 AI 家电导购产品
人工智能
海上彼尚1 分钟前
Nodejs也能写Agent - 6.基础篇 - Agent
前端·人工智能·后端·node.js
码界筑梦坊2 分钟前
131-基于Flask的美国新泽西州自动售货机销售数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask·毕业设计
viperrrrrrrrrr72 分钟前
强化学习入门笔记
人工智能·强化学习
轻刀快马2 分钟前
AI 架构的文艺复兴:用操作系统“内存管理”重构 LLM 状态机 —— 深度解密 Claude Code
人工智能·架构
随身数智备忘录3 分钟前
拆解安全生产法三大核心功能,安全生产法如何解决责任不清与事故追责难
大数据·人工智能·安全
子榆.3 分钟前
CANN PyTorch适配器深度拆解:从.cuda()到.npu()到底发生了什么
人工智能·pytorch·python