关于 jupyter 找不到虚拟环境中安装好的包的问题

问题描述

使用 conda 创建了一个虚拟环境,名称为 d2l-zh。在这个虚拟环境中安装了 torch,并且在命令行中可以成功导入 torch。

但是,在 jupyter 中却显示找不到该模块。

明明安装了 torch 模块,在命令行中也成功导入了,但是在 jupyter 中却显示找不到。

问题分析

既然我们在命令行中可以导入,那么说明虚拟环境是不存在问题的,因此问题大概率出在 jupyter 上,那么我们检查一下在 jupyter 中包的搜索路径。

python 复制代码
import sys
sys.path

由输出结果可以看出,我们明明使用的是虚拟环境 d2l-zh,但是包的搜索路径竟然是基环境 base 的路径。也就是说,我们这里相当于仍然在使用 base 环境。网上有博文说可以添加上我们虚拟环境的路径,但是这种方式治标不治本。

通过以上信息一步一步分析,最终发现是由于这条命令造成的:

bash 复制代码
# 将虚拟环境导入 Jupyter 的 kernel 中
python -m ipykernel install --user --name=环境名

原来是由于我在 base 环境中执行的该命令,导致虽然能在 jupyter 中选择该内核,但是实际上使用的还是 base 环境。

相当于给 base 环境起了一个别名?(个人理解,不知道对不对)

问题解决

在对应的虚拟环境中执行该命令即可,完整步骤:

创建虚拟环境:

bash 复制代码
conda create -n d2l-zh python=3.9

进入到虚拟环境:

bash 复制代码
conda activate d2l-zh

安装必要的包:

bash 复制代码
pip install jupyter
pip install ipykernel
# 安装其他需要的包,如 torch 等

将虚拟环境导入 Jupyter 的 kernel 中:

bash 复制代码
python -m ipykernel install --user --name=d2l-zh

注意:这条命令一定要在对应的虚拟环境中执行!否则就会出现上面的问题!

重新启动 jupyter,此时可以看到,成功导入了 torch ,并且包的搜索路径也变为了虚拟环境的路径。

至此,问题解决!

相关推荐
冬奇Lab3 分钟前
每日一个开源项目 #110:ai-engineering-from-scratch - 从零构建 AI 工程全栈能力
人工智能·深度学习·llm
ujainu8 分钟前
CANN pto-isa:Transformer 推理编译链路:从 PyTorch 到昇腾 NPU 执行
pytorch·深度学习·transformer·ascend
一切皆是因缘际会12 分钟前
AI 从 “模仿智能” 到 “重构世界” 的范式跃迁
大数据·人工智能·深度学习·重构·架构
生成论实验室18 分钟前
Token即事件:Transformer为何是“事件-关系网络”的最佳实现——兼论大语言模型如何从“概率鹦鹉”进化为“认知主体”
人工智能·深度学习·语言模型·agi·安全架构
5201-25 分钟前
RAG 推理管线:检索增强生成的完整流程
深度学习
结局无敌31 分钟前
FlashAttention 深度实践:四个实验验证性能收益
深度学习
feasibility.39 分钟前
Qwen3-VL-Seg 深度解读:当多模态大模型学会“像素级精准手术“
人工智能·深度学习·计算机视觉·llm·图像分割·多模态·vlm
深度学习lover41 分钟前
<数据集>yolo水下垃圾识别<目标检测>
人工智能·深度学习·yolo·目标检测·水下垃圾数据集
放下华子我只抽RuiKe51 小时前
FastAPI 全栈后端(一):为什么选择 FastAPI
前端·javascript·深度学习·react.js·机器学习·前端框架·fastapi
灰灰勇闯IT1 小时前
MQA:全部 Query 共享一套 Key-Value
人工智能·深度学习·机器学习