如何用py2exe打包Twisted程序?

11 投票
2 回答
8867 浏览
提问于 2025-04-11 09:25

我尝试用py2exe把一个Twisted程序打包成exe文件,但运行这个exe文件时,出现了“No module named resource”的错误。

然后我发现py2exe提示说:

以下模块似乎缺失了:['FCNTL', 'OpenSSL', 'email.Generator', 'email.Iterators', 'email.Utils', 'pkg_resources', 'pywintypes', 'resource', 'win32api', 'win32con', 'win32event', 'win32file', 'win32pipe', 'win32process', 'win32security']

那么我该如何解决这个问题呢?

谢谢。

2 个回答

0

我也遇到过邮件模块的问题。我通过在setup.py文件中明确包含模块来解决了这个问题:

旧的setup.py文件:

setup(console = ['main.py'])

新的setup.py文件:

setup(console = ['main.py'], 
      options={"py2exe":{"includes":["email.mime.multipart","email.mime.text"]}})
11

我以前见过这种情况……py2exe这个工具,出于某种原因,没有检测到这些模块在ZIP压缩包里是需要的,所以把它们漏掉了。

你可以在py2exe的命令行中明确指定要包含的模块:

python setup.py py2exe -p win32com -i twisted.web.resource

大概就是这样。可以看看相关选项,试着动手实验一下。

撰写回答