手工匯入了第三方module,在調用的過程中報錯,呼叫指令碼如下:
from HiveTask import HiveTaskht = HiveTask()#ht.calendar.setMonth(-12)print (ht.calendar.getMonthFirst())print (ht.calendar.getMonthLast())print (ht.calendar.getYearWeek())
報錯資訊如下:
File "D:/winpython/WinPython-64bit-3.4.3.7/python-3.4.3.amd64/Scripts/workspaces/20160329.py", line 34, in <module> ht = HiveTask() File "C:\Python34\Lib\site-packages\jd_127environment\HiveTask.py", line 62, in __init__ self.username = os.environ['USER'] File "D:\winpython\WinPython-64bit-3.4.3.7\python-3.4.3.amd64\lib\os.py", line 633, in __getitem__ raise KeyError(key) from NoneKeyError: 'USER'
分析原因:
當HiveTask.py中調用self.username時,發現USER變數拋出異常:raise KeyError(key) from None。
表明在window環境中沒有USER這個環境變數,但是環境變數中有USERNAME這個變數,剛好符合self.username的要求,替換之:
self.username = os.environ['USERNAME']
再次運行,問題解決了
2016-03-30 08:33:00 INFO 日誌位置:/tmp/pgy_LOG//201603302016-03-30 08:33:00 INFO 日誌位置:/tmp/pgy_LOG//20160330INFO:20160328:日誌位置:/tmp/pgy_LOG//201603302016-03-012016-03-3114