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

使用py2exe打包Python脚本时出现win32crypt.pyd加载失败错误求助

解决py2exe打包win32crypt时的MemoryLoadLibrary错误

针对你遇到的ImportError: MemoryLoadLibrary failed loading win32crypt.pyd: The specified module could not be found. (126)错误,以下是几种可行的解决方法:

1. 手动添加pywin32依赖文件

py2exe在Python 3.11环境下可能未自动识别win32crypt的关联依赖DLL,需在setup.py中显式指定包含相关文件:

修改后的setup.py代码:

import py2exe
import os
from pywin32_system32 import __file__ as pywin32_sys_file

# 获取pywin32系统文件目录
pywin32_dir = os.path.dirname(pywin32_sys_file)

py2exe.freeze(
    windows=[
        {
            "script": "script.py",
        }
    ],
    options={
        "py2exe": {
            "includes": ["win32crypt", "pywintypes"],
            "packages": ["pywin32_system32"],
            # 复制依赖的DLL到输出目录(注意替换版本号为你的Python对应版本,如3.11对应311)
            "data_files": [
                (".", [os.path.join(pywin32_dir, "pywintypes311.dll"), os.path.join(pywin32_dir, "pythoncom311.dll")])
            ]
        }
    }
)

2. 调整py2exe或pywin32版本

py2exe 0.13与Python 3.11的兼容性可能存在问题,尝试降级py2exe或升级pywin32:

# 降级py2exe到稳定兼容版本
pip install py2exe==0.12.0.0

# 或升级pywin32到最新版
pip install --upgrade pywin32

3. 更换打包工具

若上述方法无效,可切换到对pywin32支持更稳定的PyInstaller:

# 安装PyInstaller
pip install pyinstaller

# 打包脚本(--onefile参数生成单文件exe)
pyinstaller --onefile script.py

错误原因说明

错误代码126本质是依赖的动态链接库未找到,win32crypt.pyd依赖pywintypesXX.dll和pythoncomXX.dll(XX为Python版本号),py2exe在Python 3.11环境下的自动依赖收集逻辑可能遗漏了这些文件,或MemoryLoadLibrary的加载机制存在兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:45:34