python用Pyinstaller生成exe详细攻略(我生成exe所遇到的全部问题)
首先,我自己的是一个人脸识别的一个小程序吧
里面大概包括这几个文件夹

data用来存储数据
feature是用来保存人脸特征的文件夹
model里面是人脸识别用到的一些模型(dlib和shape)
然后还有几个py文件,那个stage3.py就是我识别人脸的py文件,然后生成exe文件
第一步:
下载安装pyinstaller
这个还挺简单的。直接下载pip install pyinstaller
第二步:
对于我而言,我前面两步stage几乎不会影响第三步,第三步直接回用生成特征的文件夹
就是我feature/里面的
所以这里需要改第三步的文件路径,不然会报错到时候,改成相对路径
之前:
facerec = dlib.face_recognition_model_v1(
"E:/code/renlian5/model/dlib_face_recognition_resnet_model_v1.dat")
有两种方式:
facerec = dlib.face_recognition_model_v1(
"dlib_face_recognition_resnet_model_v1.dat")
facerec = dlib.face_recognition_model_v1(
"../dlib_face_recognition_resnet_model_v1.dat")
第三步
在你程序的控制台下,输入cmd进入终端

然后进行py转exe文件
pyinstaller -F 文件名(我用的stage3.py)
然后回车就可以了
下面列出其他你们可能需要的一些代码提示

第四步
执行成功会出现这四个文件夹,其中exe文件就在dist文件夹里面
   
如下图:

差不多到这里就结束了,一般都可以运行了,重点我要说下面的
第五步
我的问题就是:在我电脑里面可以运行pycharm文件,转成exe之后也可以运行,但是我想移植到其他电脑后,exe就会报错

我当时以为是环境什么的问题,因为安装了一个dlib的库,其实不是
我查阅了一些资料,大致的意思就是说生成的exe文件不会将你的一些文件库进行打包,可能里面没有你文件所运行所需要的包,就包括dll,dat文件什么的
这时候就需要你手动找出来,然后放进去就可以了

大概这样,然后我把这个文件压缩放到u盘,在其他电脑上也可以运行,
大概就是这样,,哈哈哈哈
大概这样,然后我把这个文件压缩放到u盘,在其他电脑上也可以运行, 
大概就是这样,,哈哈哈哈
|