python解决ModuleNotFoundError No module named 'HTMLTestRunner'

HTMLTestRunner是Python标准库的unittest模块的扩展,无法通过pip安装;

py2解决方法:

从http://tungwaiyip.info/software/HTMLTestRunner.html下载HTMLTestRunner.py并将文件放到python2安装目录的Lib下,然后再次运行文件,可成功运行!

py3解决方法:

总结:

第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))

下面是踩坑过程:

从http://tungwaiyip.info/software/HTMLTestRunner.html下载HTMLTestRunner.py并将文件放到python3安装目录的Lib下,然后再次运行文件

在HTMLTestRunner的94行中,是使用的StringIO,但是Python3中,已经没有StringIO了。取而代之的是io.StringIO。所以将此行修改成import io

在HTMLTestRunner的539行中,self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()

继续执行代码,发现报异常如下:

前往644行修改代码:if cls not in rmap

继续执行代码,又发现报异常如下:

前往769行修改代码: uo = e ; 同时将776行修改代码:ue = e

继续执行,发现还报异常:

前往633行修改代码:print (sys.stderr, '\nTime Elapsed: %s' % (self.stopTime - self.startTime))

再次执行,代码运行成功,无异常!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ModuleNotFoundErrorPython中的一个常见错误,它表示无法找到所需的模块。在你提到的错误中,出现了"No module named qdarkstyle",这意味着你的代码中引用了一个名为qdarkstyle的模块,但是Python无法找到该模块。 要解决这个错误,你可以尝试以下几个步骤: 1. 确认模块是否已经安装:首先,你需要确认你是否已经安装了qdarkstyle模块。你可以使用pip命令来安装模块,例如:`pip install qdarkstyle`。如果已经安装了该模块,可能是因为模块的名称大小写不匹配导致无法找到,请确保在代码中使用的模块名称与实际安装的模块名称一致。 2. 检查模块路径:如果确认已经安装了qdarkstyle模块,但仍然出现ModuleNotFoundError错误,可能是因为Python解释器无法找到该模块的路径。你可以通过在代码中添加以下几行来检查模块的路径: ```python import sys print(sys.path) ``` 这将打印出Python解释器搜索模块的路径列表。确保qdarkstyle模块所在的路径在其中。 3. 检查环境变量:有时候,如果模块所在的路径没有正确添加到系统的环境变量中,Python解释器仍然无法找到该模块。你可以检查系统的环境变量,确保模块所在的路径已经正确添加。 如果以上步骤都没有解决问题,可能是因为qdarkstyle模块并没有被正确安装或者存在其他问题。你可以尝试重新安装模块,或者查阅相关文档或社区来获取更多帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值