我正在使用imaplib阅读一些电子邮件。这段代码在Pycharm中正常运行。我已经使用cx_Freeze使该程序成为可执行文件,现在我得到一个错误,该错误可以追溯到cx_Freeze的startup.py。我之前已经制作了一个可执行文件,而不是使用imaplib,并且这种问题没有发生。
在线上还有其他有关“模块imaplib没有属性IMAP4_SSL”的帖子,但是这些不能解决问题,并且可能与我的原因不同。该陈述的其他原因涉及虚拟环境或与我的情况不同的事物。
完整的错误消息如下:
Traceback (most recent call last):
File "C:\Users\Todd\Desktop\Python\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run module.run()
File "C:\Users\Todd\Desktop\Python\lib\site-packages\cx_Freeze\initscrips\Console.py", line 26, in run exec(code, m.__dict__)
File "Main.py", line 18, in <module>
File 'C:Users\Todd\Desktop\ForStemotics\EmailGetter.py", line 43, in GetEmails
mail = imaplib.IMAP4_SSL("imap.gmail.com")
AttributeError: module 'imaplib' has no attribute 'IMAP4_SSL'
在setup.py中通过评论进行编辑:
from cx_Freeze import setup, Executable
setup(name = 'SARS',
version='0.1',
description = 'email automator',
executables = [Executable("Main.py")])
最佳答案
感谢所有贡献者和查看者。我已经解决了问题。经过一些试验,我将问题追溯到ssl模块。我找不到解决方法,但是找到了另一个解决方案。我从python 3.7.1升级到了最新版本3.7.3,问题停止了。我不知道为什么会这样,但是如果有人遇到我的问题或类似的问题,我建议您尝试一下。