2
learningman 2021-08-14 14:56:57 +08:00 via Android
pyinstaller
|
3
ClericPy OP @CEBBCAT
@learningman 我就是只想要个解释器, 代码和依赖我自己打包成 zip 就够了. 至于打包完整程序, 之前确实 pyinstaller 和 nuitka 用的多, 但我实际需要的就是个解释器 |
4
Trim21 2021-08-14 15:42:24 +08:00 via Android 1
用 pyinstaller 打包一下 runpy ()
|
5
ClericPy OP |
6
israinbow 2021-08-14 18:18:23 +08:00
pycharm 在没有 py 环境的时候会自己下一个解释器, 看看那玩意?
|
8
wangxn 2021-08-14 21:49:27 +08:00
单文件肯定不可能,最起码标准库就是分开的。
|
9
LeeReamond 2021-08-15 06:27:31 +08:00
比起楼主这需求,我倒是更想有个通用打包器....pyinstaller 到今天也不好用啊
|
10
icepie 2021-08-15 08:03:18 +08:00
不用 cpython 的话 还有 pypy, RustPython...之类的 不过似乎满足不了题主的需求
|
11
pursuer 2021-08-15 13:05:57 +08:00 1
就我了解的情况,python 编译时会查找部分系统库,openssl,libffi,gzip 等,甚至在链接的时候会链接到对应的版本上,因此发行这样的库,需要顺便提取这些依赖打包并配置 LD_LIBRARY_PATH
|
12
ClericPy OP @wangxn 那只好等明年再问了...
@LeeReamond 感觉还挺好的, 速度一开始觉得慢, 和 nuitka 一比就快多了, 不过就是打包可执行文件各种不顺手, 所以打算改成发布 zip 的代码(带依赖) 然后让对方自己解决解释器的问题. 话说这俩打包工具打包的 standalone 也是要生成一个临时文件夹不是真的单文件很烦 @icepie 之前搜 portable 就看到人家提到这些东西... 不抱期望了 @pursuer 每次打包完了看到一大堆乱七八糟文件就头疼, 记得七八年前用 cx_freeze 的时候, 居然还要考虑 platform 什么的 dll 给 qt 用, 实在不行就不指望了, 以后只发布 zipapp 了 |
13
SimonDC 2021-08-15 18:40:32 +08:00
conda pack 把环境打包吧,这也算一种解决方案
|
14
LeeReamond 2021-08-16 09:02:36 +08:00 1
@ClericPy 不是比较起来慢不慢的问题,实际上慢就是一个痛点啊。。明明你机器上预装 py 环境的话,py 代码连接到 idle 的启动可以做到 0.1 秒启动虚拟机。但是搞到单文件以后就慢了几十倍,也不知道为啥这么慢,就这个问题搞了这么多年都没有一个解决方案。
以往可能是因为 py 代码确实没有分发需求吧,毕竟直接分发源码之类的确实玄学(顺带一提,混淆也没搞好)。不过现在整个编译工具链分发,ffi 之类的也很成熟了,业务上也出现 renpy 之类的游戏需要分发的问题,目前看起来还是各家自己撸一套自用框架封装代码。只能说可能从侧面说明 py 的火热全靠机器学习带动,其他方面都是小众需求根本没人搞 |
15
jeeyong 2021-08-19 11:09:34 +08:00 1
python 安装的时候有个提供给单用户的模式..
然后把里面的文件提出来就是你要的单解析器和基本库了. |
16
ClericPy OP @jeeyong 有点好奇, 如果这么容易提取, 目前还没什么人或组织甚至官方把它做成绿色版呢... 是跨 win 系统有兼容性问题还是不安全还是有什么其他依赖不全
|
17
jeeyong 2021-08-20 20:07:24 +08:00
|
19
llsquaer 2021-08-21 19:03:19 +08:00
官网就有一个瘦身的包 10M 左右的包 直接下。 相当于一个虚拟环境 。。但是这个包没有 pip tk 等。。名字一下忘了。。你找一下就好了。。文件包最小的那个试试。。
|