
打包的细节可以看这个 PR: https://github.com/laixintao/iredis/pull/279
非常简单,用 PyOxidizer 打包之后自动上传到 github 的 release,只要写好这个 Github Action 之后,以后只要在 master 打 tag 就会自动 release。
缺点就是 PyOxidizer 打包,如果第三方依赖(几乎是必然)有 __file__ 的依赖的话,就无法打包成一个文件,必须带一个 lib/ 目录。
有兴趣的可以在 release 页面下载 tar 解压之后运行一下。
1 jakezh 2020-03-02 05:28:04 +08:00 via iPhone pyinstaller 了解一下 |
2 scriptB0y OP @jakezh pyinstaller 本质上是吧整个库的文件都打包起来,运行的时候再解压到文件系统,比 PyOxidizer 要慢很多 |
3 jakezh 2020-03-02 09:08:44 +08:00 去 github 看了一下还真是, 居然还是用 rust 写的, 等有空试试 |
4 scriptB0y OP @jakezh 是的,本质山使用 Cargo 那套 build 系统,直接把解释器和 py 代码嵌套一起去了。 还有一个 Nutika 是直接翻译 Py 代码到 C,然后编译个 bianry 的。 PyOxidizer 这里有个对比各个类似打包工具的文档: https://pyoxidizer.readthedocs.io/en/stable/comparisons.html |
5 dragonszy 2020-03-02 10:11:04 +08:00 战略马克,的确 pyinstaller 太慢了。 |
6 bbxiong 2020-03-02 15:24:55 +08:00 马克 py 打包 |
7 atx 2020-03-02 18:32:34 +08:00 没有编译好的版本吗,折腾了半天,也没有编译出来 rust 太难了 |
8 scriptB0y OP @lc1450 大哥。。心疼你。。。release 页面有编译好的啊,下载解压就能运行了…… https://github.com/laixintao/iredis/releases/latest 帖子里说了…… > 有兴趣的可以在 release 页面下载 tar 解压之后运行一下。 |
11 atx 2020-03-02 20:32:52 +08:00 是呀就是这么弄的,然后下载了一大堆文件编译,然后就各种报错 |
13 dragonszy 2020-03-10 20:13:36 +08:00 在 PyOxidizer 的打包工具比较中发现了 Nuitka,应该是比较不错的工具。 |