之前写代码没import过自己定义的模块,第一次遇到引入自己定义模块的情况果然是出现了问题,首先先了解涉及到的几个基本知识:
1、每个.py文件都是一个模块;
2、一个文件夹要想成为包,必须包含__init__.py文件,哪怕他内部什么都不写,包中包含一些模块和子文件夹(子文件夹仍然可以是一个包);
3、引入语法:
1). import PackageA.SubPackageA.ModuleA,使用时必须用全路 径名;
2). 变种: from PackageA.SubPackageA import ModuleA,可以直 接使用模块名而不用加上包前缀;
3). 也可以直接导入模块中的函数或变量:
from PackageA.SubPackageA.ModuleA import functionA
import语句语法:
1). 当使用from package import item时,item可以是package的子 模块或子包,或是其他的定义在包中的名字(比如一个函数、类或变 量);
2). 当使用import item.subitem.subsubitem语法时,最后一个item 之前的item必须是包,最后一个item可以是一个模块或包,但不能是 类、函数和变量。
要注意,引用时必须环境变量中包含这个包的位置&#

本文介绍了在Python中导入自定义模块时遇到'No module named...'; '...is not a package'错误的问题,强调了模块、包的基本概念和导入语法。通过检查代码结构和环境变量,作者发现错误源于执行文件与包同名,改名后问题得到解决。
最低0.47元/天 解锁文章
569

被折叠的 条评论
为什么被折叠?



