0

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

  • 我检查以确保它在一个新的、干净安装的 Python 发行版上运行。
  • 我在我用来运行它的同一个 Python 实例上从 pip 安装了 exchangelib 2.0.1。

直到抛出错误时的代码:

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)
4

2 回答 2

1

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

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

于 2020-07-21T11:20:09.197 回答
1

您需要直接从exchangelibforMessage和导入Mailbox

在他们的主页上有一个例子。

如果您查看__init__.pyexchangelib目录,您会发现它MessageMailbox添加到__all__其中,这是将导入加载到命名空间的位置。[代码]

如果您查看下面的folders 目录,您将找不到任何MessageMailbox在其中__init__.py您也不会找到它。如果那是你真正需要的,你可以得到MailboxAssociationsMessages得到。.folders

于 2019-09-23T18:17:40.740 回答