我正在运行一个python脚本,它可以在OSX上使用Python 2.7.6版本完美运行。然后我使用python 2.6.5在Linux上运行相同的脚本,它给了我下面的错误,行号不匹配,因为我已经减少了脚本的例子。这是一个Python版本问题?Linux上的Python错误 - 版本?
错误:
Traceback (most recent call last):
File "Create_MD5.py", line 133, in <module>
myApp = CreateMD5('myApp')
File "Create_MD5.py", line 35, in __init__
self.sendEmail()
File "Create_MD5.py", line 124, in sendEmail
server = smtplib.SMTP(self.host)
File "/usr/lib64/python2.6/smtplib.py", line 239, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib64/python2.6/smtplib.py", line 295, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib64/python2.6/smtplib.py", line 273, in _get_socket
return socket.create_connection((port, host), timeout)
File "/usr/lib64/python2.6/socket.py", line 500, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -3] Temporary failure in name resolution
代码示例:
import hashlib
import threading
import os
import os.path
import sys
import time
import datetime
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
class CreateMD5(object):
def __init__(self, title):
self.host = "outlook"
directory = "/RAIDS/RAID3"
..............
def......
def sendEmail(self):
msg = MIMEMultipart()
msg['From'] = self.fromaddr
msg['To'] = self.toaddr
msg['Subject'] = "Some Subject"
body = "This is an example"
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP(self.host)
text = msg.as_string()
server.sendmail(self.fromaddr, self.toaddr, text)
myApp = CreateMD5('myApp')
不确定这是否是问题,但是您是否试图将#!/ usr/bin/python放在文件的开头? –
添加了这一点,并没有什么区别。仍然收到错误。 – speedyrazor
当你这样做时会发生什么:Linux机器上的'ping outlook'? – perreal