2011-12-21 31 views
0

我正在嘗試在具有郵件功能的ESXi上爲BusyBox編寫一個python腳本。它運行Python 2.5,缺少一些庫(即smtplib)。我下載了Python2.5源代碼並將lib文件夾複製到ESXi。現在我試圖通過「import lib.smtplib」導入smtplib,但Python說:Python2.5,smtplib和KeyError

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' 

我被卡住了。所以,每一個幫助和每一個想法都表示讚賞

回答

1

嘗試在設備或自定義操作系統上安裝通用應用程序總是很有趣。

只是一個猜測,但它可能是電子郵件庫是一個編譯的C模塊 - 即不是純粹的Python。

我會嘗試使用完全是沒有編譯代碼的Python的庫 - 我不知道是否有純Python版本的庫。

該選項嘗試追查ESXi所基於的操作系統版本,然後使用該操作系統的匹配python版本。

0

我對BusyBox或ESXi一無所知 - 因此,這可能比答案更適合您的建議,但您可以考慮使用支持HTTP或RESTful API的電子郵件服務 - 例如MailGun。他們有一個免費的計劃,每天最多可以發送200封電子郵件,所以它可能不會花費任何東西。

再次,這種方式更多的是一個建議或計劃「B」(如果沒有人可以幫助你解決這個具體問題)