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

Python venv环境中glob模块引用系统包而非虚拟环境的原因咨询

问题解答

为什么glob模块无需安装即可在虚拟环境中导入?

从你提供的测试输出能看到,虚拟环境的pip freeze结果里没有glob,但导入后它的路径指向系统Python的/usr/lib/python3.8/glob.py。这是因为**glob是Python标准库的内置模块**,而venv创建的虚拟环境仅隔离第三方包的安装环境,不会屏蔽或替换Python自带的标准库。

当你在虚拟环境中启动Python解释器时,它仍然会加载系统Python中的标准库组件,所以这类模块不需要额外安装就能直接使用。

哪些模块会有这种情况?

所有属于Python标准库的模块都具备这个特性,无需在虚拟环境中单独安装,比如:

  • 系统交互类:os、sys
  • 数据处理类:json、csv
  • 工具类:re(正则)、datetime(日期)、math(数学计算)
  • 文件操作类:shutil、pathlib

而像pandas这类第三方库不属于标准库,必须通过pip install在虚拟环境中安装后才能导入,否则会触发ModuleNotFoundError,这和你测试的结果一致。

补充验证方法

你可以在虚拟环境的Python交互环境中执行以下代码,查看包含标准库的路径:

import sys
# 过滤出标准库相关路径(排除第三方包的site-packages)
print([p for p in sys.path if 'python3.8' in p and 'site-packages' not in p])

内容的提问来源于stack exchange,提问作者Anitta Therattil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:30:16