(自定义包导包失败一万次的经验)ModuleNotFoundError: No module named ‘xxx‘

news2024/11/23 9:14:37

导自定义的包遇到的问题

首先我列一下我的目录结构

|-src
	|-__init__.py
	|-Dao
		|-insertData.py
	|-pojo
		|-DataBaseDao
		|-everyData

我现在在我的insertData.py通过from src.pojo import DataBaseDao,everyData导包,在pycharm中可以正常运行,但是在控制台运行失败,提示

ModuleNotFoundError: No module named 'src'

方案一:我失败了

import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from src.pojo import DataBaseDao,everyData

在这里插入图片描述

原因

因为os.path.abspath(__file__)获取到的是insertData.py的绝对路径;

要想成功得改变文件结构

|-src
	|-__init__.py
	|-insertData.py
	|-Dao
	|-pojo
		|-DataBaseDao
		|-everyData

如果文件结构是这样,那么上面这个方案能成功,但是我的文件结构不想改成这样

方案二:我失败了

import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
from src.pojo import DataBaseDao,everyData

在这里插入图片描述

其实方案二就像方案一的拆解,错的都一样,一样的改变文件结构才能解决

方案三:失败

import sys
sys.path.append('../')
from src.pojo import DataBaseDao,everyData

在这里插入图片描述

这个方案我虽然失败了,但是我发现该方案你往上退一格执行就能在终端执行了
在这里插入图片描述
可以对比一下我的文件结构查看

方案四:成功

方案四就相当于方案三的另一种表达方式

import sys
sys.path.append('../../')
from src.pojo import DataBaseDao,everyData

现在的话就能正常执行了

灵感来源

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

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

相关文章

移植微雪例程-2.6寸双色墨水屏到ESP32IDF中

微雪官网:E-Paper ESP32 Driver Board - Waveshare Wiki 去微雪官网,把墨水屏的例程下下来。 我这个使用的是2.6寸的双色墨水屏。 下载下来之后,然后移植到IDF上面。 移植epd2in13bc-demo这个例程。将EPD_2in13bc.h这个头文件中的宽&#…

2022年广西壮族自治区第二届职业技能大赛“网络安全项目”比赛任务书

2022年广西壮族自治区第二届职业技能大赛 “网络安全项目”比赛任务书 一、竞赛时间 总计:12小时 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A A-1 登录安全加固 240分钟 350分 A-2 本地安全策略配置 A-3 流量完整性保护 A-4 事件监控…

算法程序设计 之 背包问题(5/8)

一、实验目的: 理解并掌握利用-动态规划算法与贪心算法求解不同背包问题。 实验内容 0-1背包问题给定n种物品和一个背包。物品i的重量是w[i],其价值为vi,背包的容量为C。问如何选择装入背包的物品,使得装入背包中物品的总价值最大…

CDH集群离线部署-6.3.1

1. 文件下载 CDH 安装使用到的相关文件:链接: https://pan.baidu.com/s/1xDQD1Sa8s47Qiu_EFYdhUA?pwd5mrt 提取码: 5mrt 2. 机器基础调整 所有机器都需要执行下面所有的步骤。 2.1. 准备机器 至少三台2核16G机器。 2.1.1. ECS 服务器 如果买的是 ECS 服务器&…

Apikit 自学日记:邀请成员一起协作

邀请成员一起协作 在 Apikit 中,所有的 API 接口都是以项目的方式进行管理,因此首先需要创建一个 API 管理项目。 除了创建 API 项目,还可以创建项目组来对项目进行分类或者设置统一的用户操作权限。 一、手动创建项目 进入 API 研发管理项…

有趣的笔试题——贪吃蛇游戏(确定不进来看看?)

原题 贪吃蛇游戏是一款耳熟能详的小游戏,通过上下左右控制蛇的方向,寻找吃的果子,每吃一口果子,蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自…

关于springboot中前端传递多个数组以及其他参数及json在前后端转变方法技巧的记录

文末含一种json的动态解析方法,感兴趣的大佬记得看到最后评论交流 * 因公司GIS保密要求仅放部分代码在这儿 前端传输json的方法 json格式不再赘述 常规json传递 使用formData封装传递 好处就是当页面同时传递多个数组甚至是同时传递数组和参数到后台,可以自定义…

2023计算机组成原理复习【1-4】

第一章 计算机系统概述 1.计算机语言的分类:高级语言,低级语言(汇编语言与机器语言)。P8 高级语言是人类可读写的编程语言。低级语言包括汇编语言和机器语言两种。汇编语言是一种直接使用符号代替计算机指令的语言&a…

C++静态对象的移动问题

7.1返回普通的静态对象 MyString func(const char* p) {static MyString tmp(p);return tmp; } int main() {MyString s1("hello");s1func("helloworld");s1.Print();MyString s2;s2func("hello");s2.Print();return 0; } 结果: 进…

Elagamal和ECC

Elgamal加密方案 椭圆曲线加密体制 椭圆曲线应该是非奇异的,曲线的图不会自我相交或者没有顶点。 椭圆曲线的基本运运算 相异点相加PQ: 相同点相加PP: ## 椭圆曲线加解密 加解密原理: Alice选取一个椭圆曲线 E p ( a , b ) E_p(a,b) Ep​…

从0到1精通自动化测试,pytest自动化测试框架,生成html报告与html报告报错截图+失败重跑(五)

目录 一、生成html报告 1、pytest-html 2、html报告 3、指定报告路径 4、显示选项 5、更多功能 二、html报告报错截图失败重跑 1、conftest.py 2、报告展示 3、失败重试 一、生成html报告 1、pytest-html pytest-HTML是一个插件,pytest用于生成测试结果…

C. Ranom Numbers(统计前缀)

Problem - C - Codeforces 不,不是“随机”数字。 Ranom 数字由大写拉丁字母 A 到 E 表示。此外,字母 A 的值为 1,B 为 10,C 为 100,D 为 1000,E 为 10000。 一个 Ranom 数字是一个 Ranom 数字序列。这个…

初始化列表的使用

问题 类中是否可以定义 const 成员? 下面的类定义是否合法? 如果合法,ci 的值是什么,存储在哪里? C 中提供了初始化列表对成员变量进行初始化 语法规则 注意事项 成员的初始化顺序与成员的声明顺序相同 成员的初始…

3.41 - haas506与esp8266-01s的串口通信(wifi模块)

haas506与esp8266-01s的串口通信 PC端调试wifi模块1.接线(与电脑通信)2.模式案例3.指令演示 开发板与wifi模块通信1.接线(TTL串口通信)2.代码测试 PC端调试wifi模块 esp8266-01s 1.接线(与电脑通信) 与电脑通信时引脚连接,wifi模块需要稳定3.3v供电,…

享好文 | 碰撞检查并不是BIM的目的

不知大家感觉到没有?中国很多行业都有一种惯性思维:只要是国外的就好,习惯了拿来主义。 比如前几年兴起的BIM,各种峰会论坛、培训吹得神乎其技,玩得不亦乐乎,什么协同管理、行业生态。 结果这么多年过去了…

Python 动态生成系统数据库设计到word文档

背景 经常需要交付一些系统文档而且基本都是word的,其中又有系统数据库介绍模块, 看着数据库里的几百张表于是我开始怀疑人生, 所以咱手写一个 涉及知识 pymysql 操作数据库 -tkinter GUI图形库threading 线程queue 阻塞队列pandas python数据计算…

【数据结构(C++)】树型查找——二叉搜索树

目录 1. 二叉搜索树 1.1 二叉搜索树的概念 1.2 二叉搜索树类模板 1.3 二叉搜索树的操作 1.3.1 查找 1.3.2 插入 1.3.3 删除 1.4 二叉搜索树的性能分析 2. 平衡二叉树 2.1 平衡二叉树的概念 2.2 平衡二叉树类模板 2.3 二叉搜索树的插入 3. 红黑树 3.1 红黑树的概念…

合宙Air724UG Cat.1模块硬件设计指南--Camera接口

Camera接口 简介 CAT.1模块支持一路摄像头接口,可以用于扫码,拍照应用。 特性 仅支持SPI接口实现 最高像素30W像素 支持数据格式YUV422, Y420, RAW8, RAW10 集成GC0310驱动 管脚功能 CAM_PWDN。关闭Camera,上电状态默认下拉输入。 CAM_RST。…

pg 绑定变量源码解析

pg 绑定变量相关源码解析 下面以callstmt 为例 说明一下绑定参数的执行流程(基于pg13) 整体架构 1. exec_parse_message 解析变量。 --> parse_analyze_varparams 解析绑定参数$id--->parse_variable_parameters , 把返回值paramTyp…

《Java黑皮书基础篇第10版》 第18章【习题】

Java语言程序设计 习题第十八章 18.2章节习题 18.1 什么是递归方法?什么是无限递归? 递归方法可以拆解为递和归。在Java中,大多数方法的执行都需要调用栈,来跟踪方法的调用和返回。在递的过程中,递归方法调用自身,把新的调用添…