点击上方蓝字CG世界关注我们 “ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ” 中国很有影响力影视特效CG动画领域自媒体 本文转自公号:Pipeline

大家早上好啊

今天开始我就到新公司上班了, 之后更新频率会稍微下降一些,欢迎大家持续关注。

也欢迎游戏或者影视业内大佬加我微信我们一起交流学习

打开网易新闻 查看更多图片

在我们日常生活中,经常会需要把我们的工具打包成exe了后再分享给其他人使用。

能方便他们能在无python情况下去使用,也能做到一些简单代码的保护和提高一些运行速度。

我们很多时候都是通过python的第三方库比如pyinstallerpy2execx_Freeze等去打包的。

今天我要向大家分享一个好用的开源库叫fbs,它的打包核心虽然也是用的pyinstaller但是它为我们解决了打包和部署的痛点

与其他解决方案不同,fbs使打包exe变得容易。在几秒钟内为您的应用创建一个安装程序,然后将其分发给您的用户在WindowsMacLinux上去使用

设置环境

推荐使用python-3.6,其他版本可能会有些Bug

首先我们需要在pycharm中创建一个python虚拟环境。

然后通过虚拟环境中的pip安装fbsPyQt5, 注意我们需要指定Qt的版本,其他版本我在测试的时候有些bug

pip install fbs PyQt5==5.9.2

你也可以使用PySide2

pip install fbs PySide2==5.12.0
开始一个项目

执行以下命令以创建新的fbs项目:

fbs startproject

打开网易新闻 查看更多图片

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

fbs run

打包APP

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

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

全文完