ModuleNotFoundError: No module named ‘src‘

一、问题:

在尝试通过命令行直接运行主脚本时,由于模块路径问题导致模块导入失败。

错误日志:
[21:16:19] [~/develop/workspace/pycharm/my-app] ❱❱❱ python src/main.py     
Traceback (most recent call last):File "src/main.py", line 34, in <module>main()File "src/main.py", line 21, in mainfrom src.database.sqliteDBManager import sqlite_service_manager
ModuleNotFoundError: No module named 'src'

程序抛出 ModuleNotFoundError,无法识别 src 为有效模块。

二、解决办法

1.在主脚本,如main.py中加入
project_root = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.dirname(project_root))

可以动态地添加项目的根目录到 sys.path

2.使用python -m src.main执行脚本

可正常执行

[21:20:35] [~/develop/workspace/pycharm/my-app] ❱❱❱ python -m src.main   
与SQLite数据库的连接已建立.
表 'file_checks' 已经存在.
-------
SQLite数据库连接已关闭.

这个方法确保了当前工作目录被加入到 Python 的模块搜索路径中,解决了模块导入的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/859944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探秘神经网络激活函数:Sigmoid、Tanh和ReLU,解析非线性激活函数的神奇之处

引言 在神经网络中&#xff0c;激活函数扮演着至关重要的角色。它们赋予神经网络非线性的能力&#xff0c;使得网络具备学习和表示复杂函数关系的能力。本文将详细解析三种常见的激活函数&#xff1a;Sigmoid、Tanh和ReLU&#xff0c;揭开它们在神经网络中的奥秘。无论你是初学…

算法题day49(6.4打卡:dp08)

一、leetcode刷题&#xff1a; 1.leetcode题目 121.买卖股票的最佳时机 . - 力扣&#xff08;LeetCode&#xff09;(easy&#xff09; 解决&#xff1a; class Solution:def maxProfit(self, prices: List[int]) -> int:cur_min prices[0]maxx 0for i in range(1,len(p…

【十一】【QT开发应用】模拟腾讯会议登录界面设计UI

ui 加入会议的样式表 QPushButton { /* 前景色 */ color:#0054E6; /* 背景色 */ background-color:rgb(255,255,255); /* 边框风格 */ border-style:outset; /* 边框宽度 */ border-width:0.5px; /* 边框颜色 */ border-color:gray; /* 边框倒角 */ border-radius…

日常-----最爱的人

今日话题 大家好嗷&#xff0c;今天聊的技术可比之前的重要的多啊&#xff0c;哼哼&#xff0c;也不是今天&#xff0c;大家像我看齐嗷&#xff0c;我宣布个事情&#xff01;&#xff01;&#xff01; 于2024年6月21日晚上&#xff0c;本人遇到了这一生最爱的人 嘿嘿 这种事…

微信小程序 引入MiniProgram Design失败

这tm MiniProgramDesign 是我用过最垃圾的框架没有之一 我按照官网的指示安装居然能安装不成功,牛! 这里说明我是用js开发的 到以上步骤没有报错什么都没有,然后在引入组件的时候报错 Component is not found in path “./miniprogram _npm/vant/weapp/button/index” (using…

EPUB和MOBI两种电子书格式简介

EPUB和MOBI是两种流行的电子书格式&#xff0c;它们各自有不同的来历、优势和特点。 EPUB的来历、优势和特点24578: 来历: EPUB于2007年9月成为国际数字出版论坛&#xff08;IDPF&#xff09;的正式标准&#xff0c;目的是取代旧的Open eBook电子书标准。优势: 可移植性: 可以…

WP_Object_Cache如何使用?

WP_Object_Cache是WordPress用于缓存数据的类。每次页面载入时&#xff0c;都能够重新生成这些缓存数据。在wp-includes/cache.php文件中定义WP_Object_Cache。 编写插件时不要在代码中直接使用WP_Object_Cache&#xff0c;应使用下面列出的wp_cache函数。 默认情况下&#x…

如何优雅地处理IllegalAccessException异常?

如何优雅地处理IllegalAccessException异常&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;IllegalAccessException异常…

Android 界面库 (一) 之 View binding 简单使用

1. 简介 在过去Android开发中&#xff0c;一般会使用 findViewById() 方法来获取 XML 布局文件中的 View 对象&#xff0c;然后对该对象进行设置文本、设置是否可见、设置点击事件回调等的视图操作。但是这种对 View 的对象获取和操作的方式会可能存在一些问题&#xff0c;例如…

大数据面试题之Zookeeper面试题

目录 1、介绍下Zookeeper是什么? 2、Zookeeper有什么作用?优缺点?有什么应用场景? 3、Zookeeper的选举策略&#xff0c;leader和follower的区别? 4、介绍下Zookeeper选举算法 5、Zookeeper的节点类型有哪些?分别作用是什么? 6、Zookeeper的节点数怎么设置比较好? …

CSS阴影优化气泡框样式

<body> <div class"pop">气泡框</div> </body>body{display: flex;justify-content: center;align-items: center;height: 100% } .pop{display: flex;justify-content: center;align-items: center;background: #409eff;width: 150px;heigh…

03-Shell编程之循环语句与函数

目录 3.1 for循环语句 3.1.1for语句的结构 3.1.2 for语句应用实例 3.2 使用whlie循环语句 1.打印数字1到5 3.3 使用until循环语句 3.3.1until的实例 1.打印数字1到5&#xff08;使用until的逆向逻辑&#xff09; 2.等待用户输入特定内容 3.4 函数 3.4.1Shell函数的基…

自学C语言-10

第10章 指针 指针是C语言的一个重要组成部分&#xff0c;是C语言的核心、精髓所在。用好指针&#xff0c;可以在C语言开发中起到事半功倍的效果。一方面&#xff0c;可以提高程序的编译效率、执行速度&#xff0c;以及动态存储分配&#xff1b;另一方面&#xff0c;可使程序更加…

代码随想录算法训练营第四十八天 | 188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票总结

188.买卖股票的最佳时机IV 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/ 文档讲解&#xff1a;https://programmercarl.com/0188.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4… 视频讲解&#xff1a;https://www.bi…

playwright录制脚本原理

Paywright录制工具UI 在上一篇博客中介绍了如何从0构建一款具备录制UI测试的小工具。此篇博客将从源码层面上梳理playwright录制原理。当打开playwright vscode插件时&#xff0c;点击录制按钮&#xff0c;会开启一个新浏览器&#xff0c;如下图所示&#xff0c;在新开浏览器页…

python监听麦克风并调用阿里云的实时语音转文字

import time import threading import queue import sounddevice as sd import numpy as np import nls import sys# 阿里云配置信息 URL "wss://nls-gateway-cn-shanghai.aliyuncs.com/ws/v1" TOKEN "016ca1620aff421da8fac81b9fb52dc5" # 参考https:/…

Hive基础知识(十八):Hive 函数的使用

1. 系统内置函数 1&#xff09;查看系统自带的函数 hive (hive3)> show functions; Time taken: 0.085 seconds, Fetched: 289 row(s) 2&#xff09;显示自带的函数的用法 hive (hive3)> desc function upper; OK tab_name upper(str)- Returns str with all characters…

“了解MySQL中的enum枚举数据类型“

目录 # 开篇 1. 创建包含枚举类型的表 2. 插入枚举类型的数据 3. 查询包含枚举类型的表 4. 更新枚举类型的数据 5. 使用枚举类型的好处 注意事项 示例总结 附加 # 开篇 在数据库中&#xff0c;枚举&#xff08;ENUM&#xff09;是一种数据类型&#xff0c;用于存储一组…

即插即用篇 | 手把手教你 YOLOv10 添加注意力机制 | 20+ 种全打通!

YOLOv10 添加注意力机制 ! 视频教程地址-哔哩哔哩 文章目录 YOLOv10 添加注意力机制 !注意力机制介绍注意力机制的分类1. SE 注意力模块1.1 原理1.2 代码2. CBAM 注意力模块2.1 原理2.2 代码3. ECA 注意力模块3.1 原理3.2 代码4. CA 注意力模块4.1 原理4.2 代码5. 添加方式�…

构建开源多模态RAG系统

在这个新的冒险中&#xff0c;我们将深入研究使用开源大型语言多模态&#xff08;LLMM&#xff09;构建检索增强型生成&#xff08;RAG&#xff09;系统的过程。值得注意的是&#xff0c;我们的重点是在不依赖LangChain或Llama索引的情况下实现这一点&#xff1b;相反&#xff…