赞
踩
按win+R打开命令行窗口,输入cmd,进入cmd窗口
在窗口中直接
pip install PyInstaller
建议使用清华源,设置方法建议百度,容易出现cmd下匹配无法使用的情况,
同样建议百度,很好解决。
装好后,在cmd里面用cd命令进入python项目主程序所在目录,在该目录下
pyinstaller -F xxxxx.py
xxxx.py为主程序名,按回车等待生成即可,最后可在dist文件里面找到.exe
-F的作用是吧所有需要的文件打包进exe文件里,如果没有加-F就会像下图一样,
再给你一个文件夹,里面放满了需要用到的文件还有exe文件,要不要加-F就看
你需要了。
实际使用时使用-F的语句把文件打包成一个exe文件,运行时会报错,一个是缺少
名为cv2.cp37-win_amd64.pyd之类的文件,再者会提示缺少某些包,即出现
No module named xxx之类的问题,但是目前不知道怎么把包加进去。
所以现在使用pyinstaller -D xxxxx.py将工程打包成文件夹形式。使用此命令打包
会比用-F打包快。其结果如下
显示成功后,进入自己工程所在文件夹,里面有一个dist,dist文件夹里就有一个以你工程名命名的文 件夹。进去以后就会发现有各种乱七八糟的文件夹及文件,仔细看看就会发现大部分都是你使用过的包,所以,现在要做的就很明确了,运行程序。
我们运行程序,依旧出现以下错误。
可以看到,出现的问题主要是两个,一个是缺少库文件的问题,另一个是程序读取路径的问题,今天主要解决前者问题,后者将在下一篇进行专门说明。
这里其实主要参考了下面这位仁兄的方法。
链接: 详解pyinstaller生成exe的闪退问题解决方案.
首先找到自己程序的运行环境,我是用的pycharm,在pycharm的右下角点击你的环境名出现如下图选项。
点击interpreter setting进入如下界面
如图所示地方即为拟的环境所在路径,我的路径所包含的包路径如下:C:\Users\12743\Anaconda3\envs\yolov3_spp\Lib\site-packages,路径除了前面的不太一样,后面的都差不多,都在Lib\site-packages这个路径下,然后找到我们的sklearn库,复制。
粘贴到我们的工程文件下,就上面截图的那个地方。再次运行程序。看程序是否报错,如果还缺就一个个找,一个个粘贴,直到不再有类似错误。
最后运行程序结果如下:
还剩一个路径问题。再解决此问题程序就能正常运行了。路径问题会在下一篇进行说明。
这个程序最后还是没能只打包成一个独立的exe文件,还是以文件夹的形式进行的打包。后续还会对此进行尝试,
并在此贴更新。
本文主要参考如下
链接: Python3把写好的程序封装成exe文件.
链接: 详解pyinstaller生成exe的闪退问题解决方案.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。