每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。
在一个文件中要引入一个自定义包中的模块,出现模块无法导入问题,
此时采取第一种解决方法:
上面的解决方法会导致以下问题:
可以在本地成功运行,但是打包成exe以后,到别的电脑上无法运行,因为sys.path.append(path)里面的path在别的电脑上不一定存在。
第二种解决方法:
不在代码里使用sys.path.append(path),保证代码里不存在本地绝对路径,把要导入的自定义包拷贝到site-packages目录下,
然后再打包成exe以后就可以在别的电脑上成功运行。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119519.html原文链接:https://javaforall.cn