Files

1.5 KiB
Raw Permalink Blame History

sources, brief
sources brief
summaries/02_Third_party.md
site-packages 是 Python 环境中存放第三方包的典型目录,直接影响 import 能否找到已安装包。

site-packages

概念定义

site-packages 是 Python 环境中存放第三方包的典型目录。通过 pip 安装的包通常会进入当前 Python 环境对应的 site-packages,然后由 import 机制在搜索路径中找到。

这个主题连接 concepts/pip-与-PyPI、concepts/模块与-import、concepts/包与虚拟环境 和 concepts/依赖管理。

为什么它重要

“已经安装了包”不等于“当前程序能导入包”。更准确的问题是:包是否安装到了当前正在运行的 Python 解释器会搜索的 site-packages 中?

import numpy
print(numpy)

查看模块对象可以帮助确认实际加载位置。

多环境问题

系统 Python、用户安装目录和各个虚拟环境都可能有不同的 site-packages。如果 python、pip 或虚拟环境没有对齐,就会出现安装成功但导入失败的问题。

排查顺序

  • 确认当前运行的是哪个 python;
  • 使用 python -m pip 而不是不确定来源的 pip;
  • 查看模块对象的 __file__ 或打印模块对象;
  • 检查虚拟环境是否已激活;
  • 检查 sys.path 是否包含预期目录。

相关概念