如何无需构建直接使用SonarQube扫描Wheel文件?
不用构建直接扫描Wheel文件的SonarQube解决办法
SonarQube的Python分析插件本身不支持直接解析.whl文件——毕竟Wheel是打包好的二进制分发格式,不是可读的源码文件,所以你单纯在配置里加.whl后缀肯定没用。
不过不用完整构建项目,也有办法实现扫描:直接把Wheel里的源码提取出来再扫,步骤很简单:
提取Wheel里的源码
Wheel本质就是zip压缩包,用普通解压工具或者命令就能搞定:- 用系统自带的
unzip命令:unzip your_package.whl -d extracted_source - 或者用Python官方的
wheel工具(需要先安装wheel包:pip install wheel):python -m wheel unpack your_package.whl --dest extracted_source
- 用系统自带的
配置SonarQube扫描提取后的目录
修改你的sonar-project.properties,指定扫描源为刚才解压出来的文件夹,同时保持Python后缀配置正确:sonar.sources=extracted_source sonar.python.file.suffixes=py正常执行SonarQube扫描命令就行
如果有多个Wheel文件,可以批量解压到同一个目录(注意同名文件可能会被覆盖,最好分开存),或者在配置里指定多个源目录:
sonar.sources=extracted_source1,extracted_source2
内容的提问来源于stack exchange,提问作者Shrike
相关产品推荐
相关产品推荐

