V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
csulyb
V2EX  ›  程序员

有没有精简安装包的技术

  •  
  •   csulyb · 2021-05-23 08:13:08 +08:00 · 3743 次点击
    这是一个创建于 1269 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 pygtk 写了一款 PC 软件,因为接入了 AI 的 SDK,加上本身 gtk 和 python 的库,安装包体积到了 50M,想做个下载安装器,有没有人做过安装程序,如何实现? 最好是轻量上手简单的,不要超过 200 行 nsi 脚本, 没有很多精力投在这个安装器上面

    20 条回复    2021-05-31 09:26:53 +08:00
    kokutou
        1
    kokutou  
       2021-05-23 08:39:22 +08:00 via Android
    。。。50m 几秒钟就下完了啊
    tomczhen
        2
    tomczhen  
       2021-05-23 08:57:48 +08:00 via Android   ❤️ 2
    不想投入精力。

    ✓ 自解压压缩包,又不是不能用.jpg
    ✓ 直接付费请人弄自己做甲方。
    × 找个社区发帖等一堆方案,然后白嫖。
    OutOfMemery
        3
    OutOfMemery  
       2021-05-23 09:28:58 +08:00
    可以看一下 nsis
    luozic
        4
    luozic  
       2021-05-23 09:36:27 +08:00
    nsis 自己搜一下
    MicroBotter
        5
    MicroBotter  
       2021-05-23 09:50:41 +08:00
    GIMP,Inkscape 和 Mypaint 三个 GTK 的软件的在 windows 上安装包体积都大于 100mb,解决起来应该不简单,建议不解决。
    Osk
        6
    Osk  
       2021-05-23 09:58:37 +08:00
    看看现在一个 apk 多大, 然后就觉得自己的才 50M 而已, 很小了是吧 /doge/
    IvanLi127
        7
    IvanLi127  
       2021-05-23 09:59:49 +08:00 via Android
    传到某些软件下载站 他们会给你搞一 1m 多的下载器 虽然有广告啊植入啊什么的。。。
    Rheinmetal
        8
    Rheinmetal  
       2021-05-23 10:06:18 +08:00
    pyinstaller 可以把其他不调用的包 都干掉
    boboliu
        9
    boboliu  
       2021-05-23 10:15:58 +08:00
    MarkLeeyun
        10
    MarkLeeyun  
       2021-05-23 10:46:03 +08:00
    @Osk pc 软件啊。老哥。
    580a388da131
        11
    580a388da131  
       2021-05-23 11:01:14 +08:00
    新版微信 APK 170M
    50M 已经不算大了
    Lemeng
        12
    Lemeng  
       2021-05-23 11:16:14 +08:00
    50 兆也不是特别大
    csulyb
        13
    csulyb  
    OP
       2021-05-23 12:56:30 +08:00
    多谢已经搞定了,需要的人可以参考:

    SetOutPath "$INSTDIR"
    Nsisdl::download "https://mydomain.com/7z.exe" "7z.exe"
    Nsisdl::download "https://mydomain.com/dl_1.1.7z.001" "dl_1.1.7z.001"
    Nsisdl::download "https://mydomain.com/dl_1.1.7z.002" "dl_1.1.7z.002"

    nsexec::exec '7z.exe x "dl_1.1.7z.001" "-aoa" '

    delete 7z.exe
    delete "dl_1.1.7z.001"
    delete "dl_1.1.7z.002"
    csulyb
        14
    csulyb  
    OP
       2021-05-23 12:57:50 +08:00
    @Rheinmetal #8 我用了 cx_freeze 打的包 我待会去试试你说的这个
    Jirajine
        15
    Jirajine  
       2021-05-23 14:29:14 +08:00 via Android
    不明白,你做个下载的安装器,不还是要下?所需要的资源一点不少,有什么意义么。
    en20
        16
    en20  
       2021-05-23 14:36:06 +08:00   ❤️ 1
    @580a388da131 从程序员角度肯定要优化包体积,为什么要去比烂
    jim9606
        17
    jim9606  
       2021-05-23 16:29:53 +08:00
    python 的话我建议你别折腾了。至少我不觉得一个有 AI 能力的 GUI 程序要 50M 很离谱。
    CEF 的 win64 版都有 200M 了,依赖这玩意的小型应用在我电脑上一抓一大把。
    BingoXuan
        18
    BingoXuan  
       2021-05-23 19:10:18 +08:00 via Android
    才 50m,我一个算 fft 的小工具都 100m 了,因为用了 numpy
    thetbw
        19
    thetbw  
       2021-05-24 19:23:23 +08:00
    electron 写个 hello world 也要几十兆,这年头原生 app 难得
    john6lq
        20
    john6lq  
       2021-05-31 09:26:53 +08:00 via iPhone
    不在乎包体积《==》乱引第三方库《==》不想自己动手写代码《==》摸鱼度日、抱怨内卷
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3556 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:09 · PVG 08:09 · LAX 16:09 · JFK 19:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.