假如打包成flatpak的话,我要把整个pyqt打包进去吗?
Tofloor
poster avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-16 18:33
Author
如题,我用pyqt写软件的话,我想最后打包成flatpak,想避免出现依赖问题,那样子我要把整个pyqt打包进去吗?那样子我的软件岂不是忒大???
Reply Favorite View the author
All Replies
1 / 2
To page
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-16 21:10
#1
这类帖子不顶上去真的没人看到了
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-17 07:32
#2
继续                  
Reply View the author
avatar
许自强
deepin
2019-06-17 17:11
#3
整个包打进去会很大的
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-18 07:12
#4
https://bbs.deepin.org/post/179327
整个包打进去会很大的

但是要想打包pyqt5开发的软件要怎么做才是最好?
Reply View the author
avatar
许自强
deepin
2019-06-18 17:34
#5
https://bbs.deepin.org/post/179327
但是要想打包pyqt5开发的软件要怎么做才是最好?

我觉得是:用pipenv管理依赖,发布源代码
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-19 08:04
#6
https://bbs.deepin.org/post/179327
我觉得是:用pipenv管理依赖,发布源代码

不,我要做到隔离依赖,走flatpak路
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-19 08:06
#7
@wtz
需要你的帮助
Reply View the author
Comments
wtz
2019-06-20 05:26
python不是很了解,抱歉啊。
avatar
kevinlong
deepin
2019-06-19 20:20
#8
flatpak, 是整个runtime都要打包,
如果是deepin下开发的, 不止pyqt5要打包, 整个deepin runtime 都要打包,
flatpak 默认应该没有 deepin 的运行环境,
程序要跑起来,  要弄的东西可不少,
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-19 20:52
#9
https://bbs.deepin.org/post/179327
flatpak, 是整个runtime都要打包,
如果是deepin下开发的, 不止pyqt5要打包, 整个deepin runtime 都要打包, ...

deepin自带flatpak runtime了,不用重复打包了
Reply View the author
avatar
许自强
deepin
2019-06-19 22:58
#10
本帖最后由 hyikesong 于 2019-6-19 15:14 编辑
https://bbs.deepin.org/post/179327
不,我要做到隔离依赖,走flatpak路

用pipenv创建一个虚拟环境就隔离了依赖了,用flatpak打包Python应用是可以的,但是我觉得没必要。
Reply View the author
avatar
许自强
deepin
2019-06-19 23:21
#11
https://bbs.deepin.org/post/179327
但是要想打包pyqt5开发的软件要怎么做才是最好?

传统的打包方式和flatpak,都可以实现隔离依赖,要隔离依赖则一定会创建一个virtualenv,则一定会把PyQt5打包进去,所以很大是无法避免啦
Reply View the author
avatar
许自强
deepin
2019-06-19 23:23
#12
另外flatpak使用的是pip来管理依赖,实践告诉我,做应用软件的时候,pipenv才是最好的解决方案
Reply View the author
avatar
司南
deepin
2019-06-19 23:41
#13
https://blog.csdn.net/beyond_zhangna/article/details/79416113
https://blog.csdn.net/beyond_zhangna/article/details/78300403

需要看你使用的runtime是否包含这个依赖,如果没有就需要打包进去,如果有就不需要打包。
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-20 07:50
#14
https://bbs.deepin.org/post/179327
传统的打包方式和flatpak,都可以实现隔离依赖,要隔离依赖则一定会创建一个virtualenv,则一定会把PyQt5 ...

网上下载的pyqt5源码也不是很大,貌似几MB而已
Reply View the author
avatar
许自强
deepin
2019-06-20 17:37
#15
https://bbs.deepin.org/post/179327
网上下载的pyqt5源码也不是很大,貌似几MB而已

源码应该只是python的绑定代码,加上Qt的动态链接库300多兆吧。你也可以只打包源代码(或者编译成pyc文件),在用户安装完之后再下载依赖包,这样安装包就小了
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-25 21:27
#16
https://bbs.deepin.org/post/179327
源码应该只是python的绑定代码,加上Qt的动态链接库300多兆吧。你也可以只打包源代码(或者编译成pyc文件 ...

那深度开发的软件也是用qt写的吧,为什么他们能打包成flatpak同时又不会很大?
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-06-26 00:11
#17
顶贴!           
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:02
#18
https://bbs.deepin.org/post/179327
整个包打进去会很大的

国内能否借鉴snap和flatpak开发一个新的包管理器,可以采用如下两种路线.
第一种路线,打包软件时,写入要安装的所有依赖库的列表,搞一个清单,打包成一个很小的软件包,在安装软件时,先检测一下用户系统中之前已经安装了哪些依赖库,已经安装的依赖库就不再重复安装,把软件和没有安装的新库安装一下就好了.如果打包的软件包太大,用户会觉得软件打包的体积太大,不愿意安装.
第二种路线,把所有的依赖库都打包到一个软件包里,做一个完整的软件安装包,体积较大,但是在安装软件时,也先检测一下用户之间已经安装了哪些依赖库,如果有已经安装的依赖库,就不再重复安装,将打包的依赖库删除,保留系统里已经安装的依赖库,然后继续安装没有安装过的依赖库和软件.
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:02
#19
https://bbs.deepin.org/post/179327
我觉得是:用pipenv管理依赖,发布源代码

国内能否借鉴snap和flatpak开发一个新的包管理器,可以采用如下两种路线.
第一种路线,打包软件时,写入要安装的所有依赖库的列表,搞一个清单,打包成一个很小的软件包,在安装软件时,先检测一下用户系统中之前已经安装了哪些依赖库,已经安装的依赖库就不再重复安装,把软件和没有安装的新库安装一下就好了.如果打包的软件包太大,用户会觉得软件打包的体积太大,不愿意安装.
第二种路线,把所有的依赖库都打包到一个软件包里,做一个完整的软件安装包,体积较大,但是在安装软件时,也先检测一下用户之间已经安装了哪些依赖库,如果有已经安装的依赖库,就不再重复安装,将打包的依赖库删除,保留系统里已经安装的依赖库,然后继续安装没有安装过的依赖库和软件.
Reply View the author
avatar
zihaoxing
deepin
2019-06-26 06:03
#20
Reply View the author
1 / 2
To page