0

我在 gitlab 上遇到了 Pylint 的问题。出于某种原因,它在分析代码的过程中崩溃了。但没有对我说什么,只是崩溃了。

这是一些日志:

core/db/sql/pgsql/__init__.py:162:8: E1101: Instance of 'Session' has no 'close' member (no-member)
/core/db/sql/pgsql/__init__.py:165:4: C0116: Missing function or method docstring (missing-function-docstring)
/core/db/sql/pgsql/__init__.py:166:8: E1101: Instance of 'Session' has no 'commit' member (no-member)
/core/db/sql/pgsql/__init__.py:168:4: C0116: Missing function or method docstring (missing-function-docstring)
/core/db/sql/pgsql/__init__.py:169:8: E1101: Instance of 'Session' has no 'rollback' member (no-member)
/core/db/sql/pgsql/__init__.py:171:4: C0116: Missing function or method docstring (missing-function-docstring)
/core/db/sql/pgsql/__init__.py:174:4: C0116: Missing function or method docstring (missing-function-docstring)/bin/bash: line 98:    43 Segmentation fault      (core dumped) pylint /
         44 Done                    | tee ./pylint/pylint.log
The following messages were raised:
   - fatal message issued
   - error message issued
   - refactor message issued
 Fatal messages detected.  Failing...

Running after_script
00:02
196
Uploading artifacts for failed job
00:02
198 ERROR: Job failed: exit code 1

以下是 .gitlab-cy.yml 配置文件:

image: "python:3.8.5"

# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache"


cache:
  paths:
- .cache/pip
- venv/

before_script:
  - python --version
  - pip install virtualenv
  - virtualenv venv
  - source venv/bin/activate
  - pip install -r requirements.txt

stages:
  - Static Analysis
  - Test

flake8:
  stage: Static Analysis
  script:
- flake8 project/

pylint:
  stage: Static Analysis
  script:
- mkdir ./pylint
- pylint project/ | tee ./pylint/pylint.log || pylint-exit $?
- PYLINT_SCORE=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' ./pylint/pylint.log)
- anybadge --label=Pylint --file=pylint/pylint.svg --value=$PYLINT_SCORE 2=red 4=orange 8=yellow 10=green
- echo "Pylint score is $PYLINT_SCORE"
  artifacts:
paths:
  - ./pylint/

coverage:
  stage: Test
  script:
- coverage erase
- $(coverage run -m unittest discover -s tests | tee cov.log || exit 0)
- coverage report -m
  coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
  artifacts:
paths:
  - ./pylint/
when: always

有了这个错误代码,我在网上什么也没找到。我在 gitlab 上有其他项目具有相同的配置,它们运行没有任何问题。

有人已经看过了吗?

谢谢!!

4

1 回答 1

1

我看不到你是如何执行 pylint 的。请提供您的gitlab-ci.yml文件。但是我遇到了非常相似的问题,我通过添加pylint-exit库来解决它:

pylint --disable=W0611,C0411,C0301 tests > ./pylint/tests.log || pylint-exit $? 
于 2020-12-04T09:32:54.797 回答