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 内置包、第三方包重名
  • 尽量少的使用相对路径导包
相关推荐
m0_631529824 分钟前
宝塔面板安装后无法修改配置文件_处理chattr锁定属性
jvm·数据库·python
坐吃山猪5 分钟前
【Hanako】README08_LEVEL4_插件系统架构
python·架构·agent·源码阅读
dFObBIMmai9 分钟前
Go语言怎么用GitHub Actions_Go语言GitHub Actions教程【基础】
jvm·数据库·python
Michelle802310 分钟前
25大数据 11-1 函数
开发语言·python
dFObBIMmai18 分钟前
SQL复杂数据聚合_嵌套子查询与GROUP BY配合
jvm·数据库·python
小许同学记录成长29 分钟前
基于幅度形态与参数聚类的工作模式判别
python·算法·scikit-learn
dinglu1030DL35 分钟前
CSS Grid布局如何实现网格项目排序_使用order属性改变显示顺序
jvm·数据库·python
财经资讯数据_灵砚智能40 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月13日
大数据·人工智能·python·信息可视化·自然语言处理
m0_4708576440 分钟前
c++怎么利用C++17的filesystem--copy实现高效文件夹克隆【详解】
jvm·数据库·python
duke86926721441 分钟前
HTML怎么区分正文与广告_HTML aside与广告位语义【技巧】
jvm·数据库·python