Pylint在通过Gitlab CI运行时会引发导入错误,但在本地运行时不会出现此类错误。我们所有的库都被输入到我们的requirements.txt文件中。当pylint在我们的CI中运行时,它会列出如下错误:
E0401: Unable to import 'robot.libraries.String' (import-error)
E0401: Unable to import 'robot.libraries.BuiltIn' (import-error)
E0401: Unable to import 'robot.api' (import-error)
E0401: Unable to import 'PageObjectLibrary' (import-error)
E0401: Unable to import 'xerox' (import-error)
E0401: Unable to import 'pandas' (import-error)
在我们的代码中是这样编写导入的:
import sys, os, random, string, csv
from robot.libraries.String import String
from robot.libraries.BuiltIn import BuiltIn
from robot.api import logger
import time
import datetime
from PageObjectLibrary import PageObject
import xerox
import pandas as pd
似乎没有检测到任何需要导入的模块。吡啶与requirements.txt之间是否存在某种相互作用?
在我们的yml文件中,pylint就是这样运行的:
pylint --output-format=text $FILES | tee ./pylint/pylint.log || pylint-exit $?
$FILES是所有已更改的.py文件的列表。
pylint版本:
pylint 2.6.0
astroid 2.4.2
Python 3.9.1 (default, Jan 18 2021, 15:07:40)
[Clang 12.0.0 (clang-1200.0.32.28)]
发布于 2021-03-05 13:08:11
Pylint需要能够导入包来分析它。您所犯的错误,可能意味着它可以在本地导入它们,但不能在持续集成时导入它们。检查您所处的环境是否与安装了需求的环境相同,并通过在两个env上启动pip freeze
来与本地env进行比较。
https://stackoverflow.com/questions/66486676
复制相似问题