gpt4 book ai didi

python - Py2exe - win32api.pyc ImportError DLL 加载失败

转载 作者:太空狗 更新时间:2023-10-29 21:13:04 25 4
gpt4 key购买 nike

我正在尝试使用 py2exe 来分发我编写的 python 应用程序。一切似乎都很顺利,但是当我在另一台机器上运行它时,它失败并出现以下错误:

Traceback (most recent call last):
File "application.py", line 12, in <module>
File "win32api.pyc", line 12, in <module>
File "win32api.pyc", line 10, in __load
ImportError: DLL load failed: The specified procedure could not be found.

我用谷歌搜索了这个但没有找到太多,但尝试了以下建议无济于事:

在 win32api 之前导入了 pywintypes 和 pythoncom(在 py2exe 的 setup.py 和主应用程序中)在 setup.py 中添加了一些代码 -

# ModuleFinder can't handle runtime changes to __path__, but win32com uses them
import pywintypes
import pythoncom
import win32api
try:
# if this doesn't work, try import modulefinder
import py2exe.mf as modulefinder
import win32com
for p in win32com.__path__[1:]:
modulefinder.AddPackagePath("win32com", p)
for extra in ["win32com.shell"]: #,"win32com.mapi"
__import__(extra)
m = sys.modules[extra]
for p in m.__path__[1:]:
modulefinder.AddPackagePath(extra, p)
except ImportError:
# no build path setup, no worries.
pass

我对这一切都很陌生,所以非常感谢任何帮助

谢谢

乔恩

最佳答案

当软件包在 Vista 上构建但在 XP 上执行时,我已经看到了这个问题。问题原来是py2exe错误地将powrprof.dllmswsock.dll添加到包中。虽然 Windows XP 包含这些文件的副本,但无法加载随您的应用安装的 Vista 文件。

将它们从包中删除就可以了,您可以通过将其添加到 setup.py

中的 options 字典来轻松完成此操作
 'dll_excludes': [ "mswsock.dll", "powrprof.dll" ]

关于python - Py2exe - win32api.pyc ImportError DLL 加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com