sys.path初始内容来自运行脚本目录或当前工作目录、PYTHONPATH环境变量、标准库路径及site-packages等;可通过sys.path查看和临时修改,永久添加推荐用.pth文件、PYTHONPATH或虚拟环境。
Python 包的查找路径由 sys.path 决定,它是一个字符串列表,Python 按顺序从中搜索模块和包。
Python 启动时会按以下顺序构建 sys.path:
PYTHONPATH 环境变量中列出的目录(若有,以 : 或 ; 分隔)lib/python3.x/)和内置模块位置site-packages 目录(通过 site 模块自动添加)在 Python 中可直接访问和操作:
import sys; print(sys.path)
sys.path.append('/your/path') 或 sys.path.insert(0, '/your/path')(插在开头优先匹配)不建议直接改 sys.path,更可靠的方式有:
site-packages 中(如用 pip install -e . 安装开发版).pth 文件:在某个 site-packages 目录下新建文本文件,每行写一个绝对路径,Python 会自动读取PYTHONPATH 环境变量(适合开发调试,但生产环境慎用)当你执行 import foo 或 from bar import baz 时:
sys.path 中每个目录foo.py、foo/__init__.py、foo.so、foo.pyd 等可导
理解 sys.path 的构成和控制方式,能帮你准确定位导入失败原因,也便于组织项目结构和管理依赖。