我想使用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.
我已经搜索了很多,但没有找到很多信息,尝试了以下建议但都无济于事:
在py2exe的setup.py和主应用程序中,在win32api之前导入pywintypes和pythoncom。 在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
我对这些都很陌生,所以非常感谢任何帮助。
谢谢
Jon