gpt4 book ai didi

python - 来自 Jenkins/Sonarqube 的 Pylint 错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:51 26 4
gpt4 key购买 nike

尝试扫描我的 python 项目时, Sonar 扫描仪出现以下错误。我已经检查并安装了 python,我可以从命令行运行它。它似乎已正确添加到路径变量中。知道这里发生了什么,或者要检查什么吗?如果有帮助,Jenkins 和 sonarqube 在同一台服务器上运行。

无法运行程序“pylint”:error=2,没有那个文件或目录

> 10:21:19.572 INFO: Sensor PylintSensor [python]
10:21:19.585 INFO: ------------------------------------------------------------------------
10:21:19.585 INFO: EXECUTION FAILURE
10:21:19.585 INFO: ------------------------------------------------------------------------
10:21:19.585 INFO: Total time: 4.714s
10:21:19.715 INFO: Final Memory: 45M/213M
10:21:19.715 INFO: ------------------------------------------------------------------------
10:21:19.715 ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Cannot analyse the file '/var/lib/jenkins/workspace/GoogleAnalytics-ETL/GoogleAnalytics-ETL/Authentication/__init__.py', details: 'org.sonar.api.utils.command.CommandException: java.io.IOException: Cannot run program "pylint": error=2, No such file or directory'
at org.sonar.plugins.python.pylint.PylintSensor.execute(PylintSensor.java:85)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:68)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:88)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:180)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:288)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:283)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:261)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48)
at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121)
at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121)
at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116)
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:111)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: org.sonar.api.utils.command.CommandException: java.io.IOException: Cannot run program "pylint": error=2, No such file or directory
at org.sonar.api.utils.command.CommandExecutor.execute(CommandExecutor.java:102)
at org.sonar.plugins.python.pylint.PylintArguments.pylintVersion(PylintArguments.java:45)
at org.sonar.plugins.python.pylint.PylintArguments.<init>(PylintArguments.java:37)
at org.sonar.plugins.python.pylint.PylintIssuesAnalyzer.<init>(PylintIssuesAnalyzer.java:47)
at org.sonar.plugins.python.pylint.PylintSensor.analyzeFile(PylintSensor.java:96)
at org.sonar.plugins.python.pylint.PylintSensor.execute(PylintSensor.java:75)
... 32 more
Caused by: java.io.IOException: Cannot run program "pylint": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at org.sonar.api.utils.command.CommandExecutor.execute(CommandExecutor.java:74)
... 37 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 38 more
10:21:19.717 DEBUG: Execution getVersion
10:21:19.717 DEBUG: Execution stop
[Pipeline] }
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

jenkins/sonarqube 服务器上 pylint 版本命令的输出

> pylint --version No config file found, using default configuration
> pylint 1.8.2, astroid 1.6.1 Python 2.7.12 (default, Nov 2 2017,
> 19:20:38) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

最佳答案

SonarPython 未能执行“pylint”进程。

您应该尝试定位“pylint”可执行文件,例如:

> which pylint
/usr/local/bin/pylint

然后使用 sonar.python.pylint 属性显式提供 SonarPython 的 pylint 路径,例如:

sonar.python.pylint=/usr/local/bin/pylint

文档:Pylint Report

如果有 'sonar.python.pylint' 属性,SonarPython 仍然无法启动 pylint。然后您可以在 SonarScanner 之前自己运行 pylint,并使用 sonar.python.pylint.reportPath 属性将 pylint 结果路径提供给 SonarPython,例如:

 sonar.python.pylint.reportPath=pylint-reports/pylint-result-*.txt

关于python - 来自 Jenkins/Sonarqube 的 Pylint 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48527645/

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