You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JupyterLab虚拟环境为何能访问未安装的pandas包?

问题原因与解决方案

核心原因

这种情况大概率是JupyterLab运行环境与虚拟环境内核不匹配导致的,常见场景:

  • JupyterLab本身安装在全局Python环境中,而非虚拟环境内。从全局环境启动JupyterLab时,即便选择了虚拟环境内核,Jupyter仍可能加载全局site-packages的内容,从而能导入未在虚拟环境安装的包。
  • 虚拟环境内核的配置文件出错,内核实际指向的是全局Python解释器,而非虚拟环境的python.exe。

验证方法

先确认内核的实际路径:

  1. 打开命令行,激活虚拟环境ml_skt_book
  2. 执行命令:jupyter kernelspec list,找到ml_skt_book内核的路径
  3. 进入该路径,打开kernel.json文件,查看argv字段中的Python路径是否指向虚拟环境的ml_skt_book\Scripts\python.exe

如果路径指向全局Python(比如C:\PythonXX\python.exe),说明内核配置错误。

解决步骤

方案1:在虚拟环境内安装并启动JupyterLab

  1. 激活虚拟环境:ml_skt_book\Scripts\activate.bat
  2. 安装JupyterLab:pip install jupyterlab
  3. 启动JupyterLab:jupyter lab
  4. 新建Notebook时选择ml_skt_book内核,此时只会加载虚拟环境内的包。

方案2:修复虚拟环境内核配置

  1. 先删除错误的内核:jupyter kernelspec remove ml_skt_book
  2. 激活虚拟环境:ml_skt_book\Scripts\activate.bat
  3. 重新安装内核,确保使用虚拟环境的Python:python -m ipykernel install --name=ml_skt_book --user
  4. 再次验证kernel.json中的路径是否正确,之后启动JupyterLab测试。

方案3:检查全局site-packages的干扰

如果虚拟环境的python.exe配置了全局site-packages访问(新版venv默认隔离,但不排除特殊情况),可以检查:
激活虚拟环境后执行:python -c "import sys; print(sys.path)",看输出中是否包含全局site-packages的路径。如果有,说明隔离失效,需要重新创建虚拟环境:python -m venv ml_skt_book --no-site-packages


内容的提问来源于stack exchange,提问作者Martin Biber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:32:45