我正在運行一個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