ImportError: cannot import name 'Message' from 'exchangelib.folders'

ImportError: cannot import name 'Message' from 'exchangelib.folders'

我在 Windows 7 机器上使用 Python 3.7 (x64)。我收到以下错误消息,但当我研究类似问题时,none 的解决方案似乎相关。该脚本名为 master_pdf_email.py,位于一个没有其他 .py 文件的文件夹中。这是在新重置的计算机上安装的唯一其他 Py 脚本,因此任何 email.py 脚本都无法与我当前的 Python 运行 时间发生冲突。

错误抛出时的代码:

import pdfkit, mysql.connector, pprint, json, csv, datetime
from exchangelib import Credentials, Account, FileAttachment
from exchangelib.folders import Message, Mailbox

错误信息的回溯:

    Traceback (most recent call last):
      File "master_email_pdf.py", line 3, in <module>
        from exchangelib.folders import Message, Mailbox
    ImportError: cannot import name 'Message' from 'exchangelib.folders'
    (C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\exchangelib\folders\__init__.py)

对于 MessageMailbox,您需要直接从 exchangelib 导入。

他们的 main page.

上有一个示例显示了这一点

如果您查看主 exchangelib 目录的 __init__.py,您会发现 MessageMailbox 被添加到 __all__这是将导入加载到名称空间的地方。 [code]

如果你查看下面的 folders directory,你将找不到任何 MessageMailbox,而在 __init__.py 中你赢了也找不到。如果那是你真正需要的,你可以从 .folders 得到 MailboxAssociationsMessages

我遇到了同样的问题。 问题是您有一个名为 email.py 的脚本,它覆盖了内置电子邮件模块,该模块随后无法导入。

我创建了一个新文件夹并将我的项目移到其中,然后我的问题就解决了。