Python 导包和依赖路径问题

import 导包的机制

  1. 关于 sys.path

    • python 所有的包都会从 sys.path 中获取,并按顺序读取包依赖

    • 会默认把当前运行的 py 文件的父路径写入到 sys.path 中

    • 自己写的的包,目录必须也要在 sys.path 中,才可以正常进行包导入

    • 查看 sys.path 的内容

      python 复制代码
      import sys
      print(sys.path)
  2. 一般情况下,包导入的优先级是:当前目录.py文件 > 当前目录有__init__.py 文件的目录 > 标准库 > 第三方库

pycharm 和 vscode 中的导包情况

  • 在 pycharm 中,对某个文件夹:右键 -> 将目标标记为 -> 源代码根目录 即等同于把该文件夹加入到 sys.path

  • 在 vscode 中没有类似的操作,但可以通过修改环境变量PYTHONPATH来增加路径

    bash 复制代码
    # 执行
    export PYTHONPATH="/home/yzz/xxx/xxx:$PYTHONPATH"
    
    # 或者在工作目录下创建 .env 文件,写入环境变量键值,python 插件会默认该文件作为环境变量
    PYTHONPATH="/home/yzz/xxx/xxx:$PYTHONPATH"

其他规范

  • 个人项目中的包模块最好不要和 Python 内置包、第三方包重名
  • 尽量少的使用相对路径导包
相关推荐
默_笙1 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003961 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技1 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时1 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊1 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1231 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero071 天前
Jev 与 Laya
python·语言模型