Mac 安装HTMLTestRunner模块
1、下载HTMLTestRunner.py文件
下载地址http://tungwaiyip.info/software/HTMLTestRunner.html
将下载的文件放在lib下:
/Library/Frameworks/Python.framework/Versions/3.7/lib
发现不认识StringIO (No module named StringIO),确实3里面没有这个了,第94行引入的名称要改,改成import io,539行要改成self.outputBuffer = io.BytesIO()
修改二:
运行程序的时候有报错,AttributeError: 'dict' object has no attribute 'has_key'
发现has_key的又被K掉了,所有到642行去做修改,if not rmap.has_key(cls): 需要换成 if not cls in rmap: (修改的时候换行、空格等不要改掉原有的格式)
修改三:
运行,继续有报错:'str' object has no attribute 'decode'
唉,好像是3里面对字符的操作,decode已经拿掉了。定位一下,报在了772行,ue =
e.decode('latin-1'),那么不需要decode操作了吧,直接改成 ue = e ,另外766还有类似的uo =
o.decode('latin-1'),可不动先留着;
修改四:
继续运行,发现还是在纠结数据类型的错:
output = saxutils.escape(uo+ue),
TypeError: can't concat bytes to str
bytes和str不能直接连起来,那么778行的内容escape(uo+ue) 有一个处理的“笨办法”:都改成str,可修改该处内容为escape(str(uo)+ue)
修改五:(此处是最后一处改动了)
程序已然运行大半,但是最后还是有error:
print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and 'RPCProxy'
相信这条很多刚接触3.x的人都明白, 2和3的print是很不同的,那么在3中,print 后面是不会跟>>
这样的,所以到631行,把print的语句修改掉,原来是print >>sys.stderr, '\nTime Elapsed:
%s' % (self.stopTime-self.startTime), 可改成 print (sys.stderr, '\nTime
Elapsed: %s' % (self.stopTime-self.startTime))
每次修改后都要对HTMLTestRunner.py 保存一下。
另外在3当中,打开本地文件需用 fp = open(filename,'wb'),不要再去用file了;关闭该文件可用fp.close()
好啦,再试试你的程序吧
----------------------
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
修改后下载地址:http://pan.baidu.com/s/1dEZQ0pz (懒人直接下载吧)
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, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '\nTime 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()
修改以后,成功引入模块了
Mac 安装HTMLTestRunner模块的更多相关文章
- mac下安装HTMLTestRunner
HTMLTestRunner是Python标准库unittest模块的一个扩展.它生成易于使用的HTML测试报告. 1.下载HTMLTestRunner.py模块地址 http://tungwaiyi ...
- python3.7 安装 xlrd 模块---Mac
要用Excel将数据和代码分离,需要import xlrd, 使用前需要先安装xlrd模块. 说明:通过在google中搜索“xlrd Mac”,下载xlrd.py模块(下载地址:http://mac ...
- 【python】用setup安装自定义模块和包
python解释器查找module进行加载的时候,查找的目录是存放在sys.path变量中的,sys.path变量中包含文件的当前目录.如果你想使用一个存放在其他目录的脚本,或者是其他系统的脚本,你可 ...
- windows环境下安装python模块大招
python发展到今天,感觉版本有点控制不住了,同时出现多个版本python2.5,python2.7 python 3 ,同时跨越windows,mac,*inux等多个平台,还有32位,64位等不 ...
- python 安装第三方模块
在Python中,安装第三方模块,是通过setuptools这个工具完成的. 如果你正在使用Mac或Linux,安装setuptools本身这个步骤就可以跳过了. 如果你正在使用Windows,请首先 ...
- 安装mod_deflate模块启用apache的GZIP压缩
安装mod_deflate模块启用apache的GZIP压缩 操作系统:Linux Cent OS 5 / Max OS X 10.6 snow leopard相关环境:Apache httpd 2. ...
- Mac安装python3.x+pycharm+elasticsearch+常见报错处理(1)
---恢复内容开始--- mac安装python有两种方式:此处叙述官网安装下载. mac 自带python2.x版本,python2和3之间的差距还是有的.下面简单叙述我安装python3.7的过程 ...
- Mac安装crfpp
Mac安装crfpp 步骤 git clone https://github.com/taku910/crfpp.git ./configure make sudo make install cd p ...
- 使用 HTMLTestRunner 模块生成HTML格式的测试报告文件
1.下载HTMLTestRunner.py HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告.HTMLTestRunne ...
随机推荐
- ThinkPHP框架 系统规定的方法查询数据库内容!!同时也支持原生的SQL语句!
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller{ ...
- POJ 1816 - Wild Words - [字典树+DFS]
题目链接: http://poj.org/problem?id=1816 http://bailian.openjudge.cn/practice/1816?lang=en_US Time Limit ...
- mo +离散化 HDU3333(听说还有离线线段树的做法 )
http://acm.hdu.edu.cn/showproblem.php?pid=3333 mo套map会T,卡了一个logN,所以要先离散化处理 #define _CRT_SECURE_NO_WA ...
- 配置llama实现impala on yarn-验证未通过,仅以此文作为参考
以下内容采自网络,目前验证未通过,仅以此作为参考: 简介:早期的Impala版本中,为了使用Impala,我们通常会在以Client/Server的结构在各个集群节点启动impala-server.i ...
- lumen之composer自动加载
composer作为PHP的包管理工具,让PHP可以使用命名空间, 载入对应的类文件,不用理会文件引入的路劲问题,代码可读性也大大提高 composer 自动加载 composer 自动加载的规则 v ...
- [development][dpdk][hugepage] 大页内存的挂载
参考: [development][dpdk][hugepage] 为不同的结点分配不同大小的大页内存 完成了以上内容之后, 下一步需要做的是挂载, 大页内存只有被挂载了之后,才能被应用程序使用. 挂 ...
- Java之旅_高级教程_多线程编程
摘自:http://www.runoob.com/java/java-multithreading.html Java 多线程编程 Java 给多线程编程提供了内置的支持.一条线程指的是进程中的一条执 ...
- struct和[]byte的转换,注意结构体内变量首字母一定大写
type temp struct { Afd int Bee string }func main(){ text:=temp{3123,"4234"} b._:=j ...
- 洛谷 P3684 机棚障碍Hangar Hurdles [CERC2016] 图论
正解: 解题报告: 传送门! 首先不难想到这题主要有两个问题需要解决,一个是预处理出各个点的箱子半径最大值,一个是求ans 然后分别港下QwQ 首先关于预处理要说下昂 预处理有三种方法,分别港下 第一 ...
- 只读事务@Transactional(readOnly = true)
定义 从设置的时间点(时间点beta)开始到事务结束的过程中,该事务将看不见其他事务所提交的数据,即查询中不会出现别人在beta之后提交的数据. 应用场合 对于一个函数,如果执行的只是 ...