Py2Exe错误:运行生成的可执行文件时Win32com.client导致错误

0 投票
1 回答
886 浏览
提问于 2025-04-17 05:01

我正在尝试把一个脚本做成可执行文件,这个脚本里包含了以下的导入:

import csv, time, BeautifulSoup, sys, mechanize, os, traceback, win32com.client as win32

我的setup.py文件看起来是这样的:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    console = [{'script': "tool.py"}],
    zipfile = None,
)

我的程序的.exe文件成功创建了,但是当我尝试运行它时,出现了以下错误:

Traceback (most recent call last):
  File "tool.py", line 1, in <module>
  File "zipextimporter.pyc", line 82, in load_module
  File "win32com\__init__.pyc", line 5, in <module>
  File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32api.pyd

奇怪的是,如果我使用 bundle_files: = 3,它可以顺利编译成.exe文件,但我希望这个程序能打包成一个可执行文件,而不是多个文件。我在py2exe网站上看过这个,但我不确定这是否是我需要做的。如果这是我想要的解决方案,我不知道该怎么用或者该怎么处理。请帮我解释一下。

非常感谢任何帮助!

1 个回答

0

这个问题通过升级到Python 2.7解决了。我最开始安装的是Python 2.6,但更新后问题就解决了。

撰写回答