V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jackpot
V2EX  ›  Windows

pyinstaller 打包的 exe 脚本程序,在 win2012R2 服务器上运行报错,求解

  •  
  •   jackpot · 2021-01-12 16:40:37 +08:00 · 2393 次点击
    这是一个创建于 1193 天前的主题,其中的信息可能已经有所发展或是发生改变。

    错误应用程序名称: mediaInfo.exe ,版本: 0.0.0.0,时间戳: 0x5fb4e0ee 错误模块名称: ntdll.dll ,版本: 6.3.9600.16384,时间戳: 0x5215f938 异常代码: 0xc0000005 错误偏移量: 0x000000000005b855 错误进程 ID: 0x4be0 错误应用程序启动时间: 0x01d6e8bdb5110379 错误应用程序路径: D:\mediaInfo 临时备份目录\mediaInfo.exe 错误模块路径: C:\Windows\SYSTEM32\ntdll.dll 报告 ID: f31eba9f-54b0-11eb-80ca-d8cb8a2777a5 错误程序包全名: 错误程序包相对应用程序 ID:

    试了网上的为方法(都没用): 1.重新注册 Window 动态库 for %1 in (%windir%\system32*.dll) do regsvr32.exe /s %1 2.系统文件修复 sfc/scannow

    20 条回复    2021-01-13 11:32:10 +08:00
    darer
        1
    darer  
       2021-01-12 16:47:25 +08:00
    那就别打包了 带个便携的 python 不也挺好的吗(
    676529483
        2
    676529483  
       2021-01-12 16:49:33 +08:00
    是在 2012 环境下打包的吗?不同环境可能有问题
    CallMeReznov
        3
    CallMeReznov  
       2021-01-12 16:57:54 +08:00
    去中文目录试试。
    renmu123
        4
    renmu123  
       2021-01-12 17:01:54 +08:00 via Android
    在 2012 上重新打包
    ysc3839
        5
    ysc3839  
       2021-01-12 17:03:12 +08:00 via Android
    这错误信息没什么价值,至少需要一个 memory dump 才能分析。
    有能力的话用 x64dbg 等调试器看看吧。
    faketemp
        6
    faketemp  
       2021-01-12 17:05:22 +08:00
    目录路径名不要出现中文试试
    jackpot
        7
    jackpot  
    OP
       2021-01-12 17:23:54 +08:00
    好的,去中文目录试下先
    jackpot
        8
    jackpot  
    OP
       2021-01-12 17:31:22 +08:00
    不行,目录路径用英文的也不行
    jackpot
        9
    jackpot  
    OP
       2021-01-12 17:32:46 +08:00
    问题是,同一系统 win2012r2,在测试服务器上是可以运行的,正式服务器不行
    jackpot
        10
    jackpot  
    OP
       2021-01-12 17:33:02 +08:00
    就很迷
    chengxiao
        11
    chengxiao  
       2021-01-12 17:37:54 +08:00
    pyinstaller 在哪个环境下打的包 就在哪个系统上运行
    win10 打的 win7 不行,所以建议直接在 win2012r2 下打包
    tangbao
        12
    tangbao  
       2021-01-12 17:39:53 +08:00   ❤️ 1
    Pyinstall 是邪道,别折腾了。

    建议直接带个 Python 环境去服务器。
    myxingkong
        13
    myxingkong  
       2021-01-12 17:41:10 +08:00
    对比下两台服务器的安装的 C++运行库是否相同。有没有测试服务器安装了而正式服务器没有安装的运行库?
    QBugHunter
        14
    QBugHunter  
       2021-01-12 17:45:46 +08:00
    @darer
    如果目标电脑没有 python 呢?
    huage2580
        15
    huage2580  
       2021-01-12 17:48:31 +08:00
    pyinstaller 版本和 python 版本?我记得我之前用,踩了些坑,py 回退到 3.6 才能在另一台 win7 跑起来
    jackpot
        16
    jackpot  
    OP
       2021-01-12 17:55:56 +08:00
    pyinstaller4.1 python3.8
    darer
        17
    darer  
       2021-01-12 21:06:11 +08:00
    @QBugHunter 我的意思就是带个便携的环境
    wty
        18
    wty  
       2021-01-12 22:41:20 +08:00 via Android
    会不会是因为把一些系统文件也给打包进去了。好像打包之后里面有好多 api-ms 什么的 dll 。不太清楚有什么用,但总觉得怪怪的
    jackpot
        19
    jackpot  
    OP
       2021-01-13 11:30:20 +08:00
    解决了,是打包环境的问题,建了一个 2012r2 的虚拟机,安装了 python3.8 、pyinstaller4.1,pip 安装了模块(又是一堆报错);重新打包,扔到服务器上成功运行
    jackpot
        20
    jackpot  
    OP
       2021-01-13 11:32:10 +08:00
    谢谢各位老哥,之前在测试的 2012r2 上是可以运行的就没想着换环境打包了,看来以后还是要在那个环境下运行就用那个环境打包,好坑啊.........
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3204 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:49 · PVG 18:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.