详解详解python3中用中用HTMLTestRunner.py报报ImportError: No
module named 'StringIO'如何解决如何解决
主要介绍了详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决,感兴
趣的可以了解一下
python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法:
1.原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法:
参考:http://bbs.chinaunix.net/thread-4154743-1-1.html
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
修改后下载地址:HTMLTestRunner_jb51.rar (懒人直接下载吧)
2.修改汇总:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第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
第631行,将print >> sys.stderr, 'Time Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, 'Time
Elapsed: %s' % (self.stopTime-self.startTime))
在Python3.4下使用HTMLTestRunner,开始时,引入HTMLTestRunner模块报错。
在HTMLTestRunner的94行中,是使用的StringIO,但是Python3中,已经没有StringIO了。取而代之的是io.StringIO。所以将
此行修改成import io
在HTMLTestRunner的539行中,self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
评论10