PyQt5打包的坑
最近在做一个小功能,银行卡号生成器,打算打包成exe,然后就悲剧了,所以记录一下
一、安装打包所需要的库
pip3 install pyinstaller
记得安装完后,需要将pyinstaller.exe加入到环境变量里面
- 路径:将python环境下的script目录加入环境变量里面即可
二、打包的话写一个执行脚本来
名字随意,我这里就叫package.py文件
import os
if __name__ == '__main__':
from PyInstaller.__main__ import run
# opts = ['Main.py','-F','-w','--hidden-import=queue -w -F $FileName$','--icon=index.ico']
opts = ['Main.py', '-F', '--hidden-import=queue -w -F $FileName$', '--icon=index.ico']
run(opts)
optsc参数说明:他是打包的参数
- 第一个是要打包的文件(要含有main函数入口)
- -F 表示可以生成单个的执行文件(把你的python文件打包到一块去了)
- -w 窗口模式打包,不显示控制台(鬼知道有什么用)
- –hidden-import (应用需要的包,但是没有被打包进来)
- –icon=index.ico 生成exe的封面图片(我直接放在Main.py的同级目录下了)
三、然后我们执行这个文件就可以打包了
四、可能遇到的错误
博主曾经说过:打包成功也不一定能运行,比如会出现下面的问题
问题的解决:
- 遇事不要慌,比如我这个的问题是因为我的项目要导入数据,数据是放在另一个文件夹里面的,所以把那个文件夹放在exe同级目录下就好哩
然后就能启动了
后续
这就一个小功能,但是打包出来的文件居然有35m,吓死我了,这个问题再说吧,想要项目源码的(想想就好了。。。)