Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题
包的说明
每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。
问题描述
在一个文件中要引入一个自定义包中的模块,出现模块无法导入问题,
此时采取第一种解决方法:
- 先导入sys模块
- 然后通过sys.path.append(path)函数来导入自定义模块所在的目录
- 导入自定义模块
上面的解决方法会导致以下问题:
可以在本地成功运行,但是打包成exe以后,到别的电脑上无法运行,因为sys.path.append(path)里面的path在别的电脑上不一定存在。
第二种解决方法:
不在代码里使用sys.path.append(path),保证代码里不存在本地绝对路径,把要导入的自定义包拷贝到site-packages目录下,
然后再打包成exe以后就可以在别的电脑上成功运行。
作者:jsp
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!