
现在有一个基于 PyQt5 的 GUI 应用,运行在 Linux 环境下,主要的依赖项如下:
系统环境:统信 UOS ,麒麟,Ubuntu 。
部署数量:上百台的台式机。
网络环境:无法连接互联网,全部处于内网环境
我在这方面是个新手,恳请各位前辈和大佬给予指点,告诉一些方向和最佳实践,不胜感激!
1 NessajCN 2024-03-26 13:18:27 +08:00 - 内网机子找一台弄个 git repo - 把 site-packages 里的依赖和 pyqt 脚本推到 git repo 上 - 其他所有机子装好 python 后 clone 这个 repo - 更新代码只需要推一遍 repo 其他 pull |
2 debuggerx 2024-03-26 13:44:04 +08:00 Nuitka |
3 ZnductR0MjHvjRQ3 2024-03-26 14:43:32 +08:00 搭一个内网的 docker 仓库 然后每次更新 docker 镜像做自动更新 或者做一个内网中控 远程 shell |
4 masterclock 2024-03-26 14:48:03 +08:00 AppImage 打成单文件 |
5 opiviqo 2024-03-26 15:30:54 +08:00 再生龙直接 copy 硬盘 然后 pyinstaller 打包后删除源码 |
6 march1993 2024-03-26 15:34:08 +08:00 学工业软件的方式咯,依赖全部打包,运行的时候是启动一个 bash 文件,会配置所有的 path 变量,然后启动 |
7 sakilascott 2024-03-26 15:39:02 +08:00 用不着花里胡哨的。 所有依赖打个包,写个安装脚本,nginx 搭个文件服务器,给个下载链接就完了。 后续更新,做个弹框,点击链接自动执行升级脚本。 |
9 wangdk23411 2024-03-26 17:27:16 +08:00 AppImage 打成单文件,这种方案更合适 |
10 fredsunme 2024-03-26 17:27:50 +08:00 如果是 arm 麒麟建议快跑 |
11 DOOMS 2024-03-26 17:31:35 +08:00 直接按标准自建一个软件源 然后 add-key 所有机器 sudo apt install xxxx |
12 IamLostInCoding 2024-03-26 18:06:16 +08:00 pyinstaller 打包, 依赖自建软件源或者离线软件包 |
14 ltyj2003 2024-03-26 19:40:45 +08:00 via Android 发个通知,让各单位自行领取光盘安装。 |
15 serical 2024-03-26 19:50:24 +08:00 Nuitka 打包 |
16 sbldehanhan 2024-03-27 12:00:48 +08:00 一看就是做国产化项目的。哈哈 |
17 julyclyde 2024-03-27 18:17:01 +08:00 我就等等看有没有人回答 docker |
18 fredsunme 2024-03-28 14:29:04 +08:00 |
19 roundgis 2024-03-28 17:04:07 +08:00 via Android @fredsunme 早十年八年 qt 都有一定的挑。前子有前同事在信的源找不到新版 jdk 下的又用不了 果花了一拜自己 build 了一..... |
20 fredsunme 2024-03-28 17:31:40 +08:00 @roundgis #19 qt 是 qt, pyqt 是 pyqt. 前者在 kylin 编译挺顺畅的,直接走默认。 kylin 的 apt 带了 pyqt 的源,且系统自带 5.14 。但是该版本已经缺 svg, opengl, x11extras 等包 如果是需要 pyqt 5.15 ,就只能自行编译。国内甚至国外成型文章的里,都在让你直接编译,尽管他们的文章排版精美思路清晰,甚至结果也能运行简单的 demo ,但还是会缺上述几个包。 一旦用到了,还是得 apt 补包+重新编译 pyqt 我最后就是去 qt 论坛和 github 靠着近乎没啥关系的报错找到了这些缺失的包需要的依赖。 然后运行时还要看你用的库, 可能还需要指定 platform, -platform xcb 这种你也无法直接靠报错关键字搜到,都是从描述的状态来找到相关文章的。 所以说新坑太多。太小众了,你还得 opencv ,我没记错的话,有个依赖包能找到就是别人在 github 上 opencv 的 issues 里说的 |