我无法让 Python 的“覆盖”模块正常工作。
我无权修改或添加到 Python 目录,因此无法安装 easy_install 来设置覆盖范围。
通过将覆盖目录添加到我的 python 路径来解决此问题。覆盖工作正常,输入coverage --version
到 shell 输出版本。coverage help
显示所有可用的命令。一切似乎都很好。
我可以在小的简单脚本上很好地运行覆盖。
但是,当运行具有跨 5 个模块的大量导入的大型脚本时(已测试为工作的脚本),当使用 运行命令时coverage run [normal commands]
,脚本执行并失败,因为找不到某些模块。
这是一个细分:
没有覆盖的命令行(工作正常):
我通过运行调用脚本:./script_name.py arg1 arg2 arg3
当我尝试通过输入:运行脚本时python script_name.py arg1 arg2 arg3
,脚本失败,无法导入模块:
ImportError: No module named cx_Oracle
覆盖范围的命令行:
$ coverage run ./script_name.py arg1 arg2 arg3
"No file to run: 'main.py'"
$ coverage run {full_path_to_module_name}/script_name.py arg1 arg2 arg3
现在我们正在取得进展。覆盖显然被调用并工作,但我得到那个导入错误:
ImportError: No module named cx_Oracle