1
2i2Re2PLMaDnghL 2021-10-30 16:56:12 +08:00
粗略地看了一下。
是混淆性地编译到字节码,不是加密。 1. 应当相对明显地影响启动效率,要动态地插入内存。 2. 与一般编译性语言的混淆类似,属于一般二进制分发保护之范畴。 有个问题是,有操作系统和运行时的平台依赖,比如向 TempleOS 移植了 CPython ,混淆后的代码必不可用。Pypy ,IronPython 和 Jython 下大概率不可用,除非有专门适配。 |
2
Juszoe 2021-10-30 17:13:24 +08:00
|
3
ClericPy 2021-10-30 18:00:43 +08:00 1
@Juszoe 可以试试我之前写的一个 zipapps
https://github.com/ClericPy/zipapps 如果不想打包依赖只打包代码, 那它就不会产生缓存, 不过依赖就得自己想办法了比如虚拟环境或者用它打包一个依赖专门的 pyz 如果想打包依赖, 有些 C 相关的库得保证打包环境和运行环境基本一致. 如果想惰性打包依赖 (运行的时候安装依赖, 打包时候只记录依赖安装命令), 使用 -d 模式 目前在 Serverless 和 Hadoop 上用这玩意打包的, 日常需要在一些 docker 里动态下载更新代码也会用到 |