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 内置包、第三方包重名
  • 尽量少的使用相对路径导包
相关推荐
秀儿还能再秀24 分钟前
淘宝母婴购物数据可视化分析(基于脱敏公开数据集)
python·数据分析·学习笔记·数据可视化
计算机老学长39 分钟前
基于Python的商品销量的数据分析及推荐系统
开发语言·python·数据分析
千益1 小时前
玩转python:系统设计模式在Python项目中的应用
python·设计模式
&白帝&1 小时前
Java @PathVariable获取路径参数
java·开发语言·python
Shepherdppz2 小时前
python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
python·金融·量化交易
互联网杂货铺2 小时前
python+pytest 接口自动化测试:参数关联
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
筱涵哥2 小时前
Python默认参数详细教程:默认参数位置错误,动态默认值,__defaults__属性,动态默认值处理,从入门到实战的保姆级教程
开发语言·python
pk_xz1234563 小时前
介绍如何基于现有的可运行STGCN(Spatial-Temporal Graph Convolutional Network)模型代码进行交通流预测的改动
python
用户8134411823613 小时前
Python基础
python