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虚拟环境了。

相关推荐
长风2308 分钟前
Day14: 极限异常演练 —— 验证系统韧性与错误告警生成
人工智能·安全
吃糖的小孩15 分钟前
当 AI Agent 把运行故障问成了文档分析:我如何重做 MainAgent 的分区诊断
人工智能
GEO_ai_zhijian19 分钟前
饮料生产线质量检测系统供应商哪家强
大数据·python
Lynote AI24 分钟前
有什么好用的ai工具推荐?
人工智能
Token炼金师27 分钟前
引擎四强:vLLM、SGLang、TensorRT-LLM 与 llama.cpp —— 推理引擎选型对决
人工智能·llm·llama·vllm·tensorrt-llm·sglang
日光明媚28 分钟前
LongLive-英伟达-数字人实时生成
人工智能·计算机视觉·aigc·音视频
AI服务老曹38 分钟前
GB28181接入AI视频分析常见问题与排查清单:从国标平台注册、通道同步到心跳断线的工程实践
人工智能·音视频
mounter62541 分钟前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
名不经传的养虾人42 分钟前
从0到1:企业级AI项目迭代日记 Vol.65|最危险的故障不是崩溃,是悄悄换掉了正确答案
数据库·人工智能·ai编程·ai-agent·企业ai
程序员佳佳1 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding