最近在github上找到了个基于opencv的连连看辅助程序。由于在学习PYTHON,就下载下来阅读了下。发现其实现需要安装多个第三方库,python解释器等,对于更换环境后执行非常麻烦,所以便想将其打包为一个可执行文件。
贴上开源地址:https://github.com/TheThreeDog/Auto-Lianliankan
百度了下py的打包工具,比较了下觉得pyinstaller打包较为简单方便。pyinstaller支持Python 2.7, 3.3–3.5,并且可以自动搜索依赖(简直是懒人福音),命令简单等。
1.安装Pyinstaller
通过包管理工具pip下载,类似于RedHat中的yum工具
pip install pyinstaller
Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。如果没有安装pip,可以自行下载安装包安装:pip安装步骤
Successefully installed pip-xx.xx.xx 安装成功
2.打包python文件
1.进入打包文件所在文件夹,比如
CMD输入
cd /d D:\LLK
进入文件夹,入口文件为run.py
2.打包文件
在当前路径下输入
pyinstaller run.py
等待打包结束后当前路径下会多两个文件夹build和dist
打包好的文件在dist文件夹内,里面有很多文件,多为程序运行的动态库
这是由于pyinstaller没有加参数时默认为 -D:创建一个目录,里面包含exe以及其他一些依赖性文件
这样没有达到我们目的,打包是加上-F:打包成一个EXE文件。
3.重新打包
pyinstaller -F run.py
这次dist文件夹里就一个我们需要的exe文件,发现其比上一个命令打包出来的exe大小 大很多。
最后说下-p这个参数
-p:添加搜索路径
这个参数是告诉打包工具到哪去搜索依耐性文件,此次我们没有使用-p参数是因为工具默认为到python安装路径下的Lib 以及 Lib文件夹下的site-packages。
Lib文件夹下是python自带的一些库,site-packages为pip安装的库。此次的第三方库我都是通过pip安装的,所以不用加-p参数。如果使用了第三方库并且不再这两个路径下的需要加上:-p 库地址,告诉打包工具你使用的库在哪
插一句查看python安装路径,cmd中
where python
![](https://i-blog.csdnimg.cn/blog_migrate/0f181244b6e57390c9d83cd8bbf18b24.png)
3.更改exe文件的图标
自定义打包出来的exe文件图标,需要使用-i参数,同时需要准备一个ico格式的图片,贴上一个在线ico制作网站:
pyinstaller -F --icon=1234.ico run.py
1234.ico为当前路径下的图标文件,在其他位置需要加上路径
4.pyinstaller支持python3.6版本问题
我的是3.5版本没有遇到这个问题,别人的解决方法(没有实测过):