大家早上好啊
今天开始我就到新公司上班了, 之后更新频率会稍微下降一些,欢迎大家持续关注。
也欢迎游戏或者影视业内大佬加我微信我们一起交流学习
在我们日常生活中,经常会需要把我们的工具打包成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还有不了解的可以看看我之前分享的文章
但此处有个坑点,就是我们需要把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