python打包成exe

最近项目里边需要把python写的程序打包成exe可执行文件,方便在没有安装Python的机器上运行。在此记录打包过程中遇到的一些问题
持续更新……

使用Pyinstaller打包

Pyinstaller官网
pyinstaller简介:
PyInstaller与类似工具相比的主要优点是,PyInstaller可以与Python 3.5-3.9一起工作,由于透明压缩,它构建了更小的可执行文件,它是完全多平台的,并使用操作系统支持加载动态库,从而确保了完全的兼容性。
PyInstaller的主要目标是与开箱即用的第三方包兼容。这意味着,使用PyInstaller,使外部包工作所需的所有技巧都已经集成在PyInstaller本身中,因此不需要用户干预。您永远不需要在wiki中寻找技巧并对您的文件或设置脚本应用自定义修改。例如,PyQt、Django或matplotlib等库得到了完全的支持,无需手动处理插件或外部数据文件。查看支持包的兼容性列表以获得详细信息。

安装Pyinstaller

pip install -i https://pypi.douban.com/simple/ pyinstaller #豆瓣源

Pyinstaller打包:

使用文档

Pyinstaller -F yourprogram.py 打包exe

Pyinstaller -F -w yourprogram.py 不带控制台的打包

Pyinstaller -F -w -i youriconname.ico yourprogram.py 打包指定exe图标打包

其他参数:
在这里插入图片描述

错误解决

pyinstaller打包时提示UPX is not available.

pyinstaller使用UPX压缩, 所以根据下面的步骤安装了一个UPX就好了:
(1) 到官网 https://upx.github.io/ 下载UPX,下载下来是一个压缩包

(2) 解压得到 upx.exe文件

(3) 把exe文件拷贝到pyinstaller目录下, 我的是 一般位于yourenv\Scripts
然后再重新运行pyinstaller命令就会提示: UPX is available了。

参考:https://blog.csdn.net/chentianveiko/article/details/107083912

qt.qpa plugin: could not find the qt platform plugin “windows” in ……

这个错误是我在把项目环境打包(不是打包成exe,仅仅是打包环境)之后,使用环境中的python启动python脚本(里面用到了pyQt5)的时候出现的。
解决办法:
设置环境变量:

name:  QT_QPA_PLATFORM_PLUGIN_PATH
value: C:\Users\"your own user 
name"\AppData\Local\Programs\Python\Python37\Lib\site- 
packages\PyQt5\Qt\plugins\platforms

可以在我的电脑->高级系统设置->环境变量里边设置,也可以直接在命令行里边设:

set QT_QPA_PLATFORM_PLUGIN_PATH=yourenv/Lib/site-packages/PyQt5/Qt5/plugins;%QT_QPA_PLATFORM_PLUGIN_PATH%

参考:https://stackoverflow.com/questions/56560515/qt-qpa-plugin-could-not-find-the-qt-platform-plugin-windows-in

  • 18
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值