You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstxtractor是否提取主程序导入的依赖.py文件?技术求助

问题解答

这不是操作错误,是PyInstaller的正常优化机制导致的:
当你打包的模块(比如demo.py)代码量较小、依赖简单时,PyInstaller会把它的代码**内联(inline)**到主脚本main.py的字节码中,不会生成独立的.pyc文件,所以用PyInstxtractor反编译时只会看到main.pyc。

你可以按以下方式处理:

  • 验证内联:用uncompyle6 main.pyc > main.py反编译主脚本的字节码,打开生成的main.py搜索demo相关的代码,能找到demo.py里的内容就说明确实被内联了。
  • 强制生成独立模块:如果想让demo.py作为独立文件被打包,先生成spec配置文件:
    pyi-makespec main.py
    
    打开生成的main.spec,在Analysis部分的includes列表里添加'demo',比如:
    a = Analysis(
        ['main.py'],
        pathex=[],
        binaries=[],
        datas=[],
        hiddenimports=[],
        hookspath=[],
        hooksconfig={},
        runtime_hooks=[],
        excludes=[],
        includes=['demo'],  # 加上这行
        win_no_prefer_redirects=False,
        win_private_assemblies=False,
        cipher=block_cipher,
        noarchive=False,
    )
    
    再用pyinstaller main.spec重新打包,这次反编译就能找到独立的demo.pyc了。
  • 提取内联代码:如果不想重新打包,直接从反编译后的main.py里把属于demo.py的代码片段复制出来,保存成单独的文件即可。

内容的提问来源于stack exchange,提问作者Jun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:10:00