大家早上好啊
今天开始我就到新公司上班了, 之后更新频率会稍微下降一些,欢迎大家持续关注。
也欢迎游戏或者影视业内大佬加我微信我们一起交流学习

在我们日常生活中,经常会需要把我们的工具打包成exe了后再分享给其他人使用。
能方便他们能在无python情况下去使用,也能做到一些简单代码的保护和提高一些运行速度。
我们很多时候都是通过python的第三方库比如pyinstaller,py2exe,cx_Freeze等去打包的。
今天我要向大家分享一个好用的开源库叫fbs,它的打包核心虽然也是用的pyinstaller但是它为我们解决了打包和部署的痛点
与其他解决方案不同,fbs使打包exe变得容易。在几秒钟内为您的应用创建一个安装程序,然后将其分发给您的用户在Windows,Mac和Linux上去使用
推荐使用python-3.6,其他版本可能会有些Bug
首先我们需要在pycharm中创建一个python虚拟环境。
然后通过虚拟环境中的pip安装fbs和PyQt5, 注意我们需要指定Qt的版本,其他版本我在测试的时候有些bug
pip install fbs PyQt5==5.9.2

你也可以使用PySide2
pip install fbs PySide2==5.12.0
执行以下命令以创建新的fbs项目:
fbs startproject

下面是一个新项目的基础结构

我们通过下面命令就可以启动界面进行测试
fbs run

我们可以通过下面命令来打包我们的工具
fbs freeze

我们可以通过下面命令生成我们的安装包, 需要注意的是在Windows上面我们需要安装NSIS
fbs installer
我们可以直接通过命令行安装
choco install nsis.install --yes
如果对choco还有不了解的可以看看我之前分享的文章
chocolatey: Windows中的软件部署神器
但此处有个坑点,就是我们需要把nsis的根目录添加到system PATH中
不然会报
FileNotFoundError: fbs could not find executable 'makensis'. Please install NSIS and add its installation directory to your PATH environment variable.

设置完了后记得重开pycharm,不然环境变量不会生效

更多高级用法,比如说添加license key, 接入sentry, 添加证书等,我们可以去看看官方文档
https://build-system.fman.io/manual/
或者你们也可以看看我之前写的一个工具,也是用了fbs,算一个比较完整的案例
是根据鬼猫猫大佬写的NukeStudio(Hiero)的导表工具逻辑写的一个独立版本,方便给我的制片朋友们去使用(制片不熬夜系列:Hiero里花式出 Excel)
在这里还要再次感谢我的好朋友Limbo帮我设计的logo

https://github.com/loonghao/vexcle