V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
rogwan
V2EX  ›  Python

pyarmor 加密的 Python 脚本,影响运行效率吗?

  •  
  •   rogwan · 2021-10-30 14:42:35 +08:00 · 2676 次点击
    这是一个创建于 1119 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有用过的朋友,了解这方面的情况:
    1. 加密后,影响运行效率吗?
    2. 保护效力怎么样?
    4 条回复    2021-11-09 15:30:29 +08:00
    2i2Re2PLMaDnghL
        1
    2i2Re2PLMaDnghL  
       2021-10-30 16:56:12 +08:00
    粗略地看了一下。

    是混淆性地编译到字节码,不是加密。
    1. 应当相对明显地影响启动效率,要动态地插入内存。
    2. 与一般编译性语言的混淆类似,属于一般二进制分发保护之范畴。

    有个问题是,有操作系统和运行时的平台依赖,比如向 TempleOS 移植了 CPython ,混淆后的代码必不可用。Pypy ,IronPython 和 Jython 下大概率不可用,除非有专门适配。
    Juszoe
        2
    Juszoe  
       2021-10-30 17:13:24 +08:00
    借楼问一下大家,我看见 pyarmor 的混淆功能可以将所有.py 文件打包到一个.py 文件里。
    那我不需要混淆功能,只需要将工程打包为单个.py 的功能,请问有没相应的库?
    ClericPy
        3
    ClericPy  
       2021-10-30 18:00:43 +08:00   ❤️ 1
    @Juszoe 可以试试我之前写的一个 zipapps

    https://github.com/ClericPy/zipapps

    如果不想打包依赖只打包代码, 那它就不会产生缓存, 不过依赖就得自己想办法了比如虚拟环境或者用它打包一个依赖专门的 pyz

    如果想打包依赖, 有些 C 相关的库得保证打包环境和运行环境基本一致.

    如果想惰性打包依赖 (运行的时候安装依赖, 打包时候只记录依赖安装命令), 使用 -d 模式

    目前在 Serverless 和 Hadoop 上用这玩意打包的, 日常需要在一些 docker 里动态下载更新代码也会用到
    vanton
        4
    vanton  
       2021-11-09 15:30:29 +08:00
    @Juszoe #2
    python -m compileall
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2774 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:50 · PVG 21:50 · LAX 05:50 · JFK 08:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.