通過pip安裝 HTMLTestRunne失敗。則需要通過手動下載。
下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html
PS:如果是新標簽頁打開,直接右鍵,另存為,文件保存到Python 安裝路徑下的lib文件夾中即可。
下載后,把HTMLTestRunner.py 文件復制到Python 安裝路徑下的lib文件夾中即可。
在python3中用HTMLTestRunner.py報importError“:No module named 'StringIO'解決辦法
原因是官網的是python2語法寫的,看官手動把官網的HTMLTestRunner.py改成python3的語法。
第一種改法:
修改內容:
第94行,將import StringIO修改成import io
第539行,將self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第631行,將print >> sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))
第642行,將if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,將uo = o.decode('latin-1')修改成uo = e
第775行,將ue = e.decode('latin-1')修改成ue = e
第二種改法:
然后這個是不支持python3語法的,要自己改一下代碼,具體更改如下;
第94行: import StringIO 改為 import io 第539行:self.outputBuffer = StringIO.StringIO() 改為self.outputBuffer = io.BytesIO() 第642行:if not rmap.has_key(cls): 改為 if not cls in rmap: 第772行:ue = e.decode('latin-1') 改成 ue = e 第776行:uo = o.decode ('latin-1') 改成 uo=o 第768行:uo = o 改成 uo = o.decode('utf-8') 第774行:ue = e 改成 ue = e.decode('utf-8') 第631行:print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) 改成 print('\nTime Elapsed: %s' % (self.stopTime-self.startTime),file=sys.stderr) 第118行:self.fp.write(s) 改為 self.fp.write(bytes(s,'UTF-8'))
第三種:
TMLTestRunner_PY3下載地址:https://github.com/huilansame/HTMLTestRunner_PY3
這是一個直接支持Python3的HTMLTestRunner文件
這是一個直接支持Python3的HTMLTestRunner文件