gpt4 book ai didi

python - coverage.py 给出 "No source for code",尽管 .coveragerc 似乎告诉它代码在哪里

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:42 25 4
gpt4 key购买 nike

如果我在 docker 容器内调用 python3 -mcoverage run ...,我会根据需要获得一个 .coverage 文件。

但是,如果我尝试使用容器外部的 .coverage 文件生成 html 或文本报告,我会得到:

No source for code: '/opt/anomaly/backplane/__init__.py'.
Aborting report output, consider using -i.

./backplane/__init__.py 存在,并且我在同一目录中有以下 .coveragerc:

[paths]
source =
./
/opt/anomaly/.

似乎 coverage.py 不知道 ./opt/anomaly 应该被视为同一件事,尽管.coveragerc 文件旨在告诉 coverage.py 它们是。

我用谷歌搜索了很多,但一无所获。

我还在容器内生成了报告,效果很好。但我真的宁愿在容器外生成它们。

<小时/>

更新:Ned 提供了有用的信息,即只有 coverage merge 使用 .coveragerc 中的 [paths]

这是我目前面临的问题:

+ ./bin/terminate-api
+ sleep 2
+ lses
+ ls -l .coverage .api-coverage
ls: cannot access '.coverage': No such file or directory
-rw-rw-r-- 1 root root 13358 Jul 22 14:15 .api-coverage
+ python3 -m coverage combine .api-coverage
+ lses
+ ls -l .coverage .api-coverage
ls: cannot access '.api-coverage': No such file or directory
-rw-r--r-- 1 dstromberg dstromberg 13358 Jul 22 14:15 .coverage
+ python3 -m coverage html
No source for code: '/opt/anomaly/backplane/__init__.py'.
Aborting report output, consider using -i.

顺便说一句,我现在尝试在 .coveragerc 中使用相对路径,并且在 .coveragerc 中尝试使用绝对路径。目前两者都不适合我。

请注意,.api-coverage 和 .coverage 具有相同的长度 - 我认为由于路径更改,.coverage 应该具有不同的长度。对于相对路径,.coverage 应较小,对于绝对路径,.coverage 应较大。

顺便说一句,我正在使用:

$ python3 -m coverage --version
below cmd output started 2019 Mon Jul 22 02:33:02 PM PDT
Coverage.py, version 4.5.3 with C extension
Documentation at https://coverage.readthedocs.io

谢谢!

最佳答案

运行可执行文件.coverage需要运行时环境,在您的情况下,可以在容器而不是主机内提供该环境。

这与删除尾随的/相结合。来 self 的 .coveragerc 的/opt/anomaly/。路径似乎已经解决了问题。

关于python - coverage.py 给出 "No source for code",尽管 .coveragerc 似乎告诉它代码在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57120306/

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