2014-03-31 25 views
0

我正在運行一個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') 
+0

不確定這是否是問題,但是您是否試圖將#!/ usr/bin/python放在文件的開頭? –

+0

添加了這一點,並沒有什麼區別。仍然收到錯誤。 – speedyrazor

+2

當你這樣做時會發生什麼:Linux機器上的'ping outlook'? – perreal

回答

1

它是連接問題:[EAI_AGAIN] The name could not be resolved at this time. Future attempts may succeed.

您可以檢查錯誤代碼定義爲socket.EAI_*常量和你看到-3對應到socket.EAI_AGAIN。同樣,告訴你追溯,順便說一句。

+0

排序,註釋掉所有的電子郵件和腳本運行。雖然我有另一個問題。 – speedyrazor

+0

隨時問__otherother__問題(最好在單獨的問題中保留單獨的問題) –

0

你可以嘗試在python控制檯中運行以下內容,並讓我們知道你看到了什麼?

import smtplib                     
print smtplib.SMTP(self.host)