在venv虚拟环境创建的Jupyter kernel中pip install后包未更新问题
问题根因
出现该问题的核心原因是:你在Jupyter Notebook单元格内直接运行!pip install xxx时,默认调用的pip不一定是当前kernel绑定的虚拟环境对应的pip,安装的包会写入其他环境的依赖目录,自然无法被当前kernel识别。
解决方案
方法1:在Notebook内指定当前kernel的pip路径安装
直接在Notebook单元格中执行以下命令安装依赖,可保证包被写入当前kernel对应的虚拟环境:
import sys !{sys.executable} -m pip install 目标包名
说明:sys.executable会返回当前运行Jupyter kernel的Python解释器的绝对路径,通过该解释器调用pip安装的依赖,会直接存入对应虚拟环境的site-packages目录
方法2:激活虚拟环境后终端安装
- 退出Jupyter服务,在终端执行命令激活你的venv虚拟环境:
- Windows(CMD):
你的venv存储目录\Scripts\activate.bat - Windows(PowerShell):
你的venv存储目录\Scripts\Activate.ps1 - Linux/Mac:
source 你的venv存储目录/bin/activate
- Windows(CMD):
- 虚拟环境激活状态下执行
pip install 目标包名 - 重启Jupyter Notebook,重新连接对应kernel即可识别新安装的依赖
方法3:核对kernel配置的绑定路径
如果上述操作无效,说明你创建专属kernel时绑定的虚拟环境路径有误:
- 终端执行
jupyter kernelspec list,查看所有已注册kernel的本地存储路径 - 找到你创建的专属kernel对应的目录,打开目录内的
kernel.json文件 - 检查
argv字段中的Python解释器路径,是否和你venv目录下的Python解释器绝对路径完全一致,不一致则修改为正确路径后保存,重启Jupyter服务即可生效
内容的提问来源于stack exchange,提问作者Kohn1001
相关产品推荐
相关产品推荐

