pyinstaller生成exe文件失败
我的python是3.6,目前pyinstaller并不支持,有网友建议在Github上下载源码,用pyinstaller_develop文件夹替换pyinstaller安装位置下同名文件夹。这样做之后依然生成失败,虽然可以得到exe文件,但执行出错。分析错误提示后,发现我的问题很特殊,如果你的问题和我一样,希望可以帮到你。
我的问题是包的引用,我也不知道自己设置了什么,在引用同一个文件夹下的文件时,需要从文件夹开始,而不是直接引用文件。例如A文件夹中有a1,a2两个文件。现在在a1中引用a2,正常应该写
from a2 import *
但是我的环境下必须写成
from A.a2 import *
就是这一点差别,在生成exe文件时总会提示“找不到模块A”。对这个问题的修改方式很简单,把程序的主入口文件,例如a1.py文件从这个文件夹取出来,放在和A文件夹同一个层级下。然后用pyinstaller a1.py就可以生成。目前亲测dist下exe文件可以运行,build文件仍然无法运行,问题应该是python安装中环境变量的设置,但用户一般不装python,所以我也就不纠结这个问题了。