gpt4 book ai didi

python - Coverage.py Python 模块 - 运行脚本时导入错误

转载 作者:行者123 更新时间:2023-12-04 17:39:44 25 4
gpt4 key购买 nike

我无法让 Python 的“覆盖”模块正常工作。
我无权修改或添加到 Python 目录,因此无法安装 easy_install 来设置覆盖范围。
通过将覆盖目录添加到我的 python 路径来解决此问题。
覆盖工作正常,输入 coverage --version to 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

最佳答案

好消息是,明确地使用“python”运行,并且使用coverage.py 会产生相同的结果。坏消息是,结果是一条错误消息。

似乎您有不止一个 Python 安装。一个由“./script_name.py”找到,另一个由“python ./script_name.py”找到。

要诊断问题,请将这些行添加到 script_name.py 的顶部:

import sys
print sys.executable
print "\n".join(sys.path)

这将向您显示正在调用的 Python 可执行文件以及模块的搜索路径。以两种方式运行您的脚本将显示不同的结果,您应该能够弄清楚发生了什么。

关于python - Coverage.py Python 模块 - 运行脚本时导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com