我们正在构建一个Python3.8Azure函数项目。我们安装了以下版本的Pylint ..。
$ pylint --version
pylint 2.6.0
astroid 2.4.2
Python 3.8.3 (v3.8.3:6f8c8320e9, May 13 2020, 16:29:34)
[Clang 6.0 (clang-600.0.57)]我们的目录结构如下..。
function1
__init__.py
function2
__init__.py
...
tests
__init.py每个函数的init.py文件都采用传统的Azure函数方式进行布局。
import logging
...
def main(req: func.HttpRequest) -> func.HttpResponse:
...但是,我想知道如何在命令行上对所有函数运行Pylint,而不必指定每个函数。我试过这个
$ pylint .
************* Module .
__init__.py:1:0: F0010: error while code parsing: Unable to load file __init__.py:
[Errno 2] No such file or directory: '__init__.py' (parse-error)我们的意图是最终在管道中创建一个任务,该任务将针对所有函数运行Pylint。
发布于 2020-12-24 23:29:34
在bash上,从文件夹上运行项目文件夹。
示例pylint project1而不是pylint .
发布于 2020-12-27 12:19:45
这是已知的pylint:https://github.com/PyCQA/pylint/issues/352问题
问题是在执行__init__.py扫描的根目录下没有pylint文件。这就是为什么潘林特没有开始。
解决方案,直到问题得到解决:
在根目录下添加__init__.py,然后是pylint,扫描后,如果没有必要,将其删除。
解决方案:您位于根dir "./"中,所有./function1、./function2、./tests都可用。
touch __init__.py;
pylint $(pwd)
rm __init__.py它在任何地方都能工作:在蔚蓝-管道.ci.yml中,在gitlab-ci.yml和本地。
我在我的模板项目中查看了它:
- script: |
touch __init__.py
pylint .
rm __init__.py
displayName: 'pylint .'
- script: |
touch __init__.py
pylint $(pwd)
rm __init__.py
displayName: 'pylint $pwd'pylint $(pwd):build/results?buildId=61&view=logs&j=00b6a206-eb91-585b-3d14-cf1a4d7b1970&t=b5464ffe-109e-5907-849b-650dd16a8b4d
https://stackoverflow.com/questions/65364186
复制相似问题