您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

ImportError:在用cx_Freeze冻结的应用程序中导入win32clipboard时,DLL加载失败

ImportError:在用cx_Freeze冻结的应用程序中导入win32clipboard时,DLL加载失败

我终于想通这win32clipboard.pyd 包括在内,但是,win32clipboard.pyd要看pywintypes27.dll,这cx_Freeze是 不是 抄袭c:\windows\system32

短期破解是手动复制c:\windows\system32\pywintypes27.dllbuild\exe.win32-2.7,然后setup.py bdist_msi再次运行。

改进的方法是在setup.py中使用以下内容

import os
import sys
import win32api
...
pywintypes_dll = 'pywintypes{0}{1}.dll'.format(*sys.version_info[0:2])      # e.g. pywintypes27.dll
build_exe_options = {..., "include_files": [ (os.path.join(win32api.GetSystemDirectory(), pywintypes_dll), pywintypes_dll)]}
...
setup(  ...,
        options = { 'build_exe': build_exe_options, 
                    ...,
                  },
        ...)

(最好对cx_Freeze进行改进以自动检测pywintype27.dll依赖关系,但我想那总是在进行中。)

其他 2022/1/1 18:42:51 有486人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶