스택큐힙리스트

Pylint 경고를 비활성화하는 방법은 무엇인가요? 본문

카테고리 없음

Pylint 경고를 비활성화하는 방법은 무엇인가요?

스택큐힙리스트 2023. 4. 16. 08:39
반응형

저는 Pylint 0.21.1에서 C0321 경고 (하나의 줄에 둘 이상의 문장 - 저는 종종 짧은 단일 라인 결과와 함께 if 문장들을 동일한 줄에 놓습니다)를 해제하려고 합니다 (나는 astng 0.20.1, 공통 0.50.3 및 Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)를 사용한다면:).

제가 Pylint 구성 파일에 disable=C0321을 추가해 봤지만, Pylint가 여전히 보고하도록 요구합니다. 그 줄의 변형(예: disable=0321 또는 disable=C321)은 오류로 표시되므로 Pylint가 옵션을 올바르게 인식한다는 것입니다. 그것은 그냥 무시하고 있습니다.

이게 Pylint 버그인가요? 아니면 저한테 문제가 있나요? 이걸 어떻게 우회할 수 있을까요?

이 소음을 몇 개 없애고 싶습니다.

답변 1

pylint --generate-rcfile 는 이렇게 보입니다.

[MESSAGES CONTROL]

# Enable the message, report, category or checker with the given id(s). You can

# either give multiple identifier separated by comma (,) or put this option

# multiple time.

#enable=

# Disable the message, report, category or checker with the given id(s). You

# can either give multiple identifier separated by comma (,) or put this option

# multiple time (only on the command line, not in the configuration file where

# it should appear only once).

#disable=

그러면 당신의 ~/.pylintrc에는 disable= 라인이 섹션 [MESSAGES CONTROL] 안에 있어야합니다.

답변 2

Pylint는 Python 코드의 품질을 검사하는 도구입니다. 그러나 때로는 Pylint가 잘못된 경고를 발생시키는 경우가 있습니다. 이 문제를 해결하려면 경고를 비활성화해야 합니다.

경고를 비활성화하는 가장 일반적인 방법은 코드에 경고를 발생시키지 않는 데코레이터를 추가하는 것입니다. 이를 위해 Pylint는 다양한 데코레이터를 제공합니다.

예를 들어, flake8-noqa 데코레이터를 사용하면 해당 라인에서 모든 경고를 비활성화할 수 있습니다. 이것은 단순하게 # noqa 주석을 사용하여 수행할 수 있습니다.

또한 Pylint는 단일 경고를 비활성화하는 데코레이터도 제공합니다. 이를 위해, 경고 코드를 찾은 다음, 이를 비활성화하는 데코레이터를 적용합니다.

Pylint 경고 코드를 검색하는 또 다른 방법은 --list-msgs 플래그를 사용하는 것입니다. 이 플래그는 사용 가능한 모든 경고 코드를 출력합니다.

이제 경고를 비활성화하는 방법을 알았으니, 주의해야 할 것은 오버라이드된 경고가 코드의 품질을 낮출 수 있다는 것입니다. 따라서, Pylint 경고를 비활성화할 때 여러분은 그 경고에 대해 충분히 이해하고 있다는 것을 확신해야 합니다.

결론적으로, Pylint 경고를 비활성화하는 방법은 매우 간단합니다. 단지 데코레이터를 추가하면 됩니다. 그러나 코드의 품질을 유지하는 데있어서 경고를 완전히 무시하지 않는 것이 좋습니다. 경고를 선별적으로 비활성화하고 오버라이드 하지 않도록 항상 주의해야 합니다.

반응형
Comments