Python2.5, smtplib и KeyError - PullRequest
       26

Python2.5, smtplib и KeyError

0 голосов
/ 21 декабря 2011

Я пытаюсь написать скрипт Python для BusyBox на ESXi с почтовой функциональностью.Он работает на Python 2.5 с отсутствием некоторых библиотек (например, smtplib).Я скачал исходники Python2.5 и скопировал папку lib в ESXi.Сейчас я пытаюсь импортировать smtplib через "import lib.smtplib", но Python говорит:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/pysexi/lib/smtplib.py", line 46, in <module>
 import email.Utils
 File "/pysexi/lib/email/__init__.py", line 115, in <module>
 setattr(sys.modules['email'], _name, importer)
KeyError: 'email'

Я застрял.Так что каждая помощь и каждая мысль приветствуется!

Ответы [ 2 ]

1 голос
/ 23 октября 2012

Попытка установки универсальных приложений на устройство или пользовательскую ОС всегда доставляет удовольствие.

Просто предположение, но может случиться так, что lib электронной почты является скомпилированным модулем C - т.е. не чистым python.

Я бы попробовал использовать библиотеки, которые являются полностью Python без скомпилированного кода - я не знаю, существуют ли чистые версии Python библиотек.

Опция заключается в том, чтобы попытаться отследить, какая версия ОСна котором основан ESXi, а затем используйте соответствующую версию Python из этой ОС.

0 голосов
/ 23 октября 2012

Я ничего не знаю о BusyBox или ESXi - поэтому это может быть скорее предложение, чем ответ, но вы можете рассмотреть возможность использования службы электронной почты, поддерживающей HTTP или RESTful API - такой как MailGun .У них есть бесплатный план на 200 писем в день, поэтому он может вам ничего не стоить.

Опять же, это скорее совет или план "B" (если никто не может помочь вам сэто конкретная проблема)

...