Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题

包的说明

每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。

问题描述

在一个文件中要引入一个自定义包中的模块,出现模块无法导入问题,

此时采取第一种解决方法:

  1. 先导入sys模块
  2. 然后通过sys.path.append(path)函数来导入自定义模块所在的目录
  3. 导入自定义模块

上面的解决方法会导致以下问题:

可以在本地成功运行,但是打包成exe以后,到别的电脑上无法运行,因为sys.path.append(path)里面的path在别的电脑上不一定存在。

第二种解决方法:

不在代码里使用sys.path.append(path),保证代码里不存在本地绝对路径,把要导入的自定义包拷贝到site-packages目录下,

然后再打包成exe以后就可以在别的电脑上成功运行。

posted @ 2020-08-21 09:52  jingsupo  阅读(2520)  评论(0编辑  收藏  举报

欢迎光临