Получение «модуля imaplib» не имеет атрибута «IMAP4_SSL» при использовании imaplib с cx_Freeze - PullRequest
1 голос
/ 26 апреля 2019

Я использую imaplib для чтения некоторых писем.Этот код работает без ошибок в Pycharm.Я использовал cx_Freeze, чтобы сделать эту программу исполняемой, и теперь я получаю сообщение об ошибке, которое восходит к startup.py cx_Freeze.Я сделал исполняемый файл раньше, а не с 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")])

1 Ответ

0 голосов
/ 04 мая 2019

Спасибо всем, кто внес свой вклад и просмотрел. Я решил проблему. После некоторых экспериментов я отследил проблему до модуля ssl. Я не мог найти способ обойти это, но я нашел другое решение. Я обновил Python 3.7.1 до последней версии 3.7.3, и проблема прекратилась. Я не знаю, почему это так, но если бы кто-то еще испытывал мою или подобную проблему, я бы порекомендовал это как кое-что попробовать.

...