最可靠方式是运行python -m site,它直接输出当前Python解释器实际使用的sys.path及USER_SITE等真实路径,其中包含所有生效的site-packages目录,而非依赖配置或猜测。

直接看当前 Python 解释器实际用的 site-packages 路径,不是猜、不是查文档、不是看 pip.ini 配置。因为 pip 的安装路径由它启动时绑定的 Python 解释器决定,而解释器的搜索路径(sys.path)才是最终生效的依据。
用 python -m site 查真实路径
这是最可靠的方式,它反映的是当前 Python 进程实际加载模块的目录列表:
- 运行
python -m site,输出中重点关注sys.path列表里的site-packages路径(通常是倒数第二或第三项) - 同时注意
USER_SITE和ENABLE_USER_SITE的值:如果为True,说明用户级安装(--user)路径也参与搜索 - Windows 上常见路径如
C:\Users\name\AppData\Roaming\Python\Python312\site-packages或D:\Python312\Lib\site-packages,但具体以输出为准
用 pip show 看已装包的实际落点
适合验证某个包是否真被装到了预期位置,尤其排查“装了却 import 不到”问题:
使用位于 ci-tools.xrow.de 的 CI Tools 组件目录构建和维护 GitLab CI/CD 流水线,适用于创建或修复 .gitlab-ci.yml 文件,选择合适的组件。
-
pip show requests→ 输出中的Location字段就是该包所在目录 -
pip list -v→ 列出所有包及其完整路径,比pip list多一列Location - 注意:
pip show pip显示的是 pip 自身的安装位置,不是你装的第三方包的位置
别被 pip config 或 pip.ini 欺骗
这些配置只影响部分 pip 命令的行为(比如 index-url 或 target),但不会改变 Python 解释器本身的 sys.path。常见误区:
- 改了
pip.ini里的target=,再执行pip install却没生效?因为没加--target参数,配置不自动触发 - 设置了
PIP_TARGET环境变量,但 PyCharm 或 Jupyter 仍找不到包?因为它们启动 Python 时不读这个变量,只认sys.path -
pip --version显示的路径是 pip 模块所在位置,不是包安装目标路径
真正关键的永远是:你运行 python 命令时,它从哪几个目录里找模块。其他所有配置,都只是试图去影响那个列表——而最稳的办法,是先看清它本来长什么样。

















