当前位置:   article > 正文

Python将写好的文件包装成exe文件,在windows下直接运行_windows打包exe时候直接运行bin/windows/package.bat即可,执行完会生成

windows打包exe时候直接运行bin/windows/package.bat即可,执行完会生成dist目录,

安装PyInstaller

按win+R打开命令行窗口,输入cmd,进入cmd窗口
在窗口中直接
  • 1
  • 2
pip install PyInstaller
  • 1
建议使用清华源,设置方法建议百度,容易出现cmd下匹配无法使用的情况,
同样建议百度,很好解决。
装好后,在cmd里面用cd命令进入python项目主程序所在目录,在该目录下
  • 1
  • 2
  • 3
pyinstaller -F xxxxx.py
  • 1
xxxx.py为主程序名,按回车等待生成即可,最后可在dist文件里面找到.exe
-F的作用是吧所有需要的文件打包进exe文件里,如果没有加-F就会像下图一样,
再给你一个文件夹,里面放满了需要用到的文件还有exe文件,要不要加-F就看
你需要了。
  • 1
  • 2
  • 3
  • 4

20210928更新,打包问题出现和解决

实际使用时使用-F的语句把文件打包成一个exe文件,运行时会报错,一个是缺少
名为cv2.cp37-win_amd64.pyd之类的文件,再者会提示缺少某些包,即出现
No module named xxx之类的问题,但是目前不知道怎么把包加进去。
所以现在使用pyinstaller -D xxxxx.py将工程打包成文件夹形式。使用此命令打包
会比用-F打包快。其结果如下
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
显示成功后,进入自己工程所在文件夹,里面有一个dist,dist文件夹里就有一个以你工程名命名的文 件夹。进去以后就会发现有各种乱七八糟的文件夹及文件,仔细看看就会发现大部分都是你使用过的包,所以,现在要做的就很明确了,运行程序。

在这里插入图片描述

我们运行程序,依旧出现以下错误。
  • 1

在这里插入图片描述
可以看到,出现的问题主要是两个,一个是缺少库文件的问题,另一个是程序读取路径的问题,今天主要解决前者问题,后者将在下一篇进行专门说明。
这里其实主要参考了下面这位仁兄的方法。
链接: 详解pyinstaller生成exe的闪退问题解决方案.
首先找到自己程序的运行环境,我是用的pycharm,在pycharm的右下角点击你的环境名出现如下图选项。
在这里插入图片描述
点击interpreter setting进入如下界面
在这里插入图片描述
如图所示地方即为拟的环境所在路径,我的路径所包含的包路径如下:C:\Users\12743\Anaconda3\envs\yolov3_spp\Lib\site-packages,路径除了前面的不太一样,后面的都差不多,都在Lib\site-packages这个路径下,然后找到我们的sklearn库,复制。
在这里插入图片描述
粘贴到我们的工程文件下,就上面截图的那个地方。再次运行程序。看程序是否报错,如果还缺就一个个找,一个个粘贴,直到不再有类似错误。
最后运行程序结果如下:
在这里插入图片描述
还剩一个路径问题。再解决此问题程序就能正常运行了。路径问题会在下一篇进行说明。

总结

这个程序最后还是没能只打包成一个独立的exe文件,还是以文件夹的形式进行的打包。后续还会对此进行尝试,
并在此贴更新。
  • 1
  • 2

本文主要参考如下
链接: Python3把写好的程序封装成exe文件.
链接: 详解pyinstaller生成exe的闪退问题解决方案.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/180770
推荐阅读
相关标签
  

闽ICP备14008679号