Python如何打包——Pyinstaller 打包可执行文件的填坑路

打包可执行文件?

为了完成课程作业,要求要打包执行文件,身为一名渣渣小白应该如何打包,只能查阅进行打包已经写好的程序,但是打包过程依旧是技术渣渣的填坑血路,花了一些时间解决问题,希望这篇文章可以助力”打包“路上的填坑”土拨鼠“们,不要像我一样浪费时间。

背景

这篇文章是基于完成相关源程序,源程序运行无误的情况下进行的。本人使用的是python3.6版本,windows 8.1版本。[感觉这影响不大,但还是稍作说明],是本人第一篇博客,有错误和不当的地方还请大家指正。

第一步:安装pyinstaller

安装前的准备

因为我之前已经下载过pywin32和wheel,所以这里就不介绍了,有一篇博客里面有详细介绍,可以通过下面链接查看:

https://blog.csdn.net/u013896064/article/details/80860569

简单的安装直接:

  1. pip install pywin32
  2. pip install wheel

安装pyinstaller

安装pyinstaller 老是下载失败,百度里有说晚上下载容易失败的情况,因为晚上的时候,美国是早上。后面通过镜像网站下载,下载快且无误,值得推荐。
1.通过镜像网站下载:

pip install pyinstaller -i http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com

或者

pip3 install pyinstaller -i http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com

2.直接通过pip 下载

pip install pyinstaller

3.通过官方网址下载文件后在通过pip安装,官方网址如下:

http://www.pyinstaller.org/downloads.html

4.通过github下载,github网址如下:

扫描二维码关注公众号,回复: 10250444 查看本文章
https://github.com/pyinstaller/pyinstaller

第3,4下载对应安装包并解压后在cmd窗口cd进入所要安装的目录即可。
第4种情况详细情况课查阅下面的博客:

https://blog.csdn.net/wardseptember/article/details/79965836

其他情况,论坛上有许多情况,看看有没有你的啰:

https://bbs.csdn.net/topics/392513744

或者你自己百度查阅其他文章吧。
下载对应的版本就可以了。我下载的是pyinstaller3.6版本。

第二步:生成可执行文件

安装好pyinstaller后,可谓是完成一部分了。
打开命令提示符窗口(cmd),然后cd到你的源程序所在位置。

cd操作

如果你的源程序不在c盘,cd e:/是不能直接到达e盘的,那么应该肿么办?
比如想要cd 到E:\diyiwenjian\wenjian1这个目录下,则执行下面程序即可:

cd  /d E:\diyiwenjian\wenjian1

也就是在其他盘前面加上 /d ,注意是==/d==不是~~\d~~
在这里插入图片描述

生成build、dist文件夹和**.spec文件。

cd到要打包的py文件所在目录下后,直接pyinstaller **.py

直接pyinstaller的话,可以方便查看打包过程是否出现错误。

比如打包zhujiemian.py如下:

pyinstaller zhujiemian.py

执行后,生成完毕窗口会显示completed successfully的字样。也可看到.py所在文件工程文件夹下多了build和dist两个文件,还生成了.py文件对应的.spec文件。
在这里插入图片描述
然后点击进入dist文件,可以看到zhujiemian文件,点击进入zhujiemian文件,可以看到.py文件中所依赖的包等和zhujiemian.exe。
在这里插入图片描述
在这里插入图片描述

关联文件

再运行zhujiemian.exe前需要把zhujiemain.py关联的文件复制到此zhujiemian文件夹下。

暴力方法就是直接将zhujiemian.py所在工程文件中的其余文件复制到此zhujiemian文件下。[也就是将zhujiemian.py所在文件夹除了build和dist文件的其余文件都复制到该zhujiemian文件下]

然后点击运行zhujiemian.exe,如果可以运行,便大功告成;如果失败,显示Failed to execute script …等的话,会出现闪退的错误窗口,立刻截图,得到错误报告。
在这里插入图片描述
窗口显示缺失的支撑库及文件,根据窗口提示将所缺失的文件直接复制到所在zhujiemian文件夹即可。上图缺失的有我的工程文件,numpy文件中的某些文件,PyInstallor文件的某些文件。为了偷懒,我直接把整个工程文件,整个numpy和PyInstallor文件复制到zhujiemian文件下,然后再次点击zhujiemian.exe就可以运行。

虽然暴力复制占的内存大,但是速度快,为了偷懒便这样子啦~
好啦,终于解决,可以交作业了~

发布了10 篇原创文章 · 获赞 0 · 访问量 256

猜你喜欢

转载自blog.csdn.net/qq_41895003/article/details/103942818
今日推荐