现在有一个基于 PyQt5 的 GUI 应用,运行在 Linux 环境下,主要的依赖项如下:
系统环境:统信 UOS ,麒麟,Ubuntu 。
部署数量:上百台的台式机。
网络环境:无法连接互联网,全部处于内网环境
我在这方面是个新手,恳请各位前辈和大佬给予指点,告诉一些方向和最佳实践,不胜感激!
1
NessajCN 253 天前
- 内网机子找一台弄个 git repo
- 把 site-packages 里的依赖和 pyqt 脚本推到 git repo 上 - 其他所有机子装好 python 后 clone 这个 repo - 更新代码只需要推一遍 repo 其他 pull |
2
debuggerx 253 天前 1
Nuitka
|
3
ZnductR0MjHvjRQ3 253 天前
搭一个内网的 docker 仓库 然后每次更新 docker 镜像做自动更新
或者做一个内网中控 远程 shell |
4
masterclock 253 天前
AppImage 打成单文件
|
5
opiviqo 253 天前
再生龙直接 copy 硬盘 然后 pyinstaller 打包后删除源码
|
6
march1993 253 天前
学工业软件的方式咯,依赖全部打包,运行的时候是启动一个 bash 文件,会配置所有的 path 变量,然后启动
|
7
sakilascott 253 天前 1
用不着花里胡哨的。
所有依赖打个包,写个安装脚本,nginx 搭个文件服务器,给个下载链接就完了。 后续更新,做个弹框,点击链接自动执行升级脚本。 |
9
wangdk23411 253 天前
AppImage 打成单文件,这种方案更合适
|
10
fredsunme 253 天前
如果是 arm 麒麟建议快跑
|
11
hokori 253 天前
直接按标准自建一个软件源
然后 add-key 所有机器 sudo apt install xxxx |
12
IamLostInCoding 253 天前
pyinstaller 打包, 依赖自建软件源或者离线软件包
|
14
ltyj2003 253 天前 via Android
发个通知,让各单位自行领取光盘安装。
|
15
serical 253 天前
Nuitka 打包
|
16
sbldehanhan 252 天前
一看就是做国产化项目的。哈哈
|
17
julyclyde 252 天前
我就等等看有没有人回答 docker
|
19
roundgis 251 天前 via Android
@fredsunme 早十年八年編譯 qt 都有一定的挑戰。前陣子有個前同事說在統信的源找不到新版 jdk 下載的又用不了 結果花了一個禮拜自己 build 了一個.....
|
20
fredsunme 251 天前
@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 里说的 |