SonarQube 分析报告所有 Python3 个源文件的错误 "Unable to parse file"
SonarQube analysis reports error "Unable to parse file" for all Python3 source files
一些背景:
我正在使用微型/虚拟 pom.xml 来促进对 Python3 源代码的 SonarQube 分析。所有 Python3 个源文件都触发了这个 SonarQube 错误...
示例错误消息(包含文件的完整源代码):
[ERROR] [23:13:30.135] Unable to parse file: /home/kca/saveme2/git/kevinarpe-rambutan3/rambutan3/RTestUtil.py
[ERROR] [23:13:30.135] Parse error at line 3 column 33:
--> def test_eq_and_ne(left, right, *, is_equal: bool):
4: assert is_equal == (left == right)
5: assert is_equal != (left != right)
6:
7:
8:
9: EOF
上面的错误似乎是在抱怨 Python3 函数参数技巧强制调用者按名称指定参数。
要精确复制,请 git 克隆此 repo (https://github.com/kevinarpe/kevinarpe-rambutan3) 和 运行 ./sonarqube.bash
(设置环境的小脚本和 运行 mvn sonar:sonar
).
也许这是一个 pylint 问题或环境问题(在我这边)。我 运行来自 Debian GNU/Linux 盒子。
这是由于插件解析器的一个错误:对于函数声明的参数列表,它只能识别 Python 2.x 语法。
我创建了以下票证以在下一版本中修复它:http://jira.sonarsource.com/browse/SONARPY-122
一些背景: 我正在使用微型/虚拟 pom.xml 来促进对 Python3 源代码的 SonarQube 分析。所有 Python3 个源文件都触发了这个 SonarQube 错误...
示例错误消息(包含文件的完整源代码):
[ERROR] [23:13:30.135] Unable to parse file: /home/kca/saveme2/git/kevinarpe-rambutan3/rambutan3/RTestUtil.py
[ERROR] [23:13:30.135] Parse error at line 3 column 33:
--> def test_eq_and_ne(left, right, *, is_equal: bool):
4: assert is_equal == (left == right)
5: assert is_equal != (left != right)
6:
7:
8:
9: EOF
上面的错误似乎是在抱怨 Python3 函数参数技巧强制调用者按名称指定参数。
要精确复制,请 git 克隆此 repo (https://github.com/kevinarpe/kevinarpe-rambutan3) 和 运行 ./sonarqube.bash
(设置环境的小脚本和 运行 mvn sonar:sonar
).
也许这是一个 pylint 问题或环境问题(在我这边)。我 运行来自 Debian GNU/Linux 盒子。
这是由于插件解析器的一个错误:对于函数声明的参数列表,它只能识别 Python 2.x 语法。
我创建了以下票证以在下一版本中修复它:http://jira.sonarsource.com/browse/SONARPY-122