当前位置: 首页 > web >正文

导入自定义模块的过程中出现ModuleNotFoundError错误

python代码在导入自定义模块的过程中有时会出现ModuleNotFoundError错误

出现这种情况一般出现在项目运行目录与自定义模块不在同级的情况下

|_programs
|	|_foo.py
|_utils|——__init__.py|_util.py

其中utils为自定义模块,在foo.py中引入utils中的util文件有可能会报错ModuleNotFoundError错误

问题原因

因为在导包过程中,python解释器会搜索sys.path中的所有路径,而sys.path默认是指向当前执行的文件目录。

解决方法

将项目路径添加到需要引入自定义模块的文件中

import os
import sys
sys.path.insert[0, os.path.abspath(os.path.dirname(os.path.dirname(__file__)))]

os.path.dirname(__file__)是当前脚本的路径,通过os.path.dirname获取当前脚本的运行目录,再次调用获取项目根目录,并通过os.path.abspath获取到绝对路径后添加到sys.path

http://www.xdnf.cn/news/19240.html

相关文章:

  • 新手法务合同审查,有什么建议?
  • 构建稳定和可扩展云基础设施的首选服务:AWS的EC2实例
  • 前端工程化深度实践:从构建优化到CI/CD的完整解决方案
  • vue3跨层级传递数据,比如:祖->孙
  • JS循环方法
  • kimi浏览器助手-月之暗面推出的智能浏览器扩展
  • 晨控CK-FR102ANS与欧姆龙NX系列PLC配置EtherNet/IP通讯连接手册
  • 过滤器和拦截器的区别?
  • 数据结构(C语言篇):(六)单链表算法题(下)
  • LinuxC语言系统开发——网络编程
  • 英文版在线客服系统支持海外客户的实时聊天解决方案
  • 透视文件IO:从C库函数的‘表象’到系统调用的‘本质’
  • PS的基础操作与图片常用知识
  • 【LeetCode 热题 100】62. 不同路径——(解法二)递推
  • 国务院提出“人工智能+”行动,容智智能体引领产业变革发展
  • Linux下的软件编程——数据库
  • 【备战2025数模国赛】(三)数模常见赛题类型及解决办法
  • 《Unity Shader入门精要》学习笔记三(复杂的光照)
  • 神经网络基础
  • C++中类,this指针,构造函数,析构函数。拷贝构造函数,初步理解运算符重载,初步理解赋值运算符重载
  • 数据结构——线性表(链表,力扣中等篇,增删查改)
  • AWS集成开发最佳实践:构建高效可靠的云管理平台
  • React前端开发_Day4
  • 2025年06月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • SyncBack 备份同步软件: 使用 FTPS、SFTP 和 HTTPS 安全加密传输文件
  • IDEA之GO语言开发
  • 虚拟私有网络笔记
  • 成都五块石写字楼出租,国际数字影像产业园影像企业专属
  • Tinymce富文本编辑器封装
  • 云手机技术中都有着哪些局限性?