pylint

It's not just a linter that annoys you!

Github星跟蹤圖

README for Pylint - http://pylint.pycqa.org/

.. image:: https://travis-ci.org/PyCQA/pylint.svg?branch=master
:target: https://travis-ci.org/PyCQA/pylint

.. image:: https://ci.appveyor.com/api/projects/status/rbvwhakyj1y09atb/branch/master?svg=true
:alt: AppVeyor Build Status
:target: https://ci.appveyor.com/project/PCManticore/pylint

.. image:: https://coveralls.io/repos/github/PyCQA/pylint/badge.svg?branch=master
:target: https://coveralls.io/github/PyCQA/pylint?branch=master

.. image:: https://img.shields.io/pypi/v/pylint.svg
:alt: Pypi Package version
:target: https://pypi.python.org/pypi/pylint

.. image:: https://readthedocs.org/projects/pylint/badge/?version=latest
:target: http://pylint.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/ambv/black

.., tideliftlogo, image:: doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png
:width: 75
:height: 60
:alt: Tidelift

.. list-table::
:widths: 10 100

  • -, tideliftlogo, - Professional support for pylint is available as part of the Tidelift Subscription_. Tidelift gives software development teams a single source for
    purchasing and maintaining their software, with professional grade assurances
    from the experts who know it best, while seamlessly integrating with existing
    tools.

.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-pylint?utm_source=pypi-pylint&utm_medium=referral&utm_campaign=readme

======
Pylint

It's not just a linter that annoys you!

Pylint is a Python static code analysis tool which looks for programming errors,
helps enforcing a coding standard, sniffs for code smells and offers simple refactoring
suggestions.

It's highly configurable, having special pragmas to control its errors and warnings
from within your code, as well as from an extensive configuration file.
It is also possible to write your own plugins for adding your own checks or for
extending pylint in one way or another.

It's a free software distributed under the GNU General Public Licence unless
otherwise specified.

Development is hosted on GitHub: https://github.com/PyCQA/pylint/

You can use the code-quality@python.org mailing list to discuss about
Pylint. Subscribe at https://mail.python.org/mailman/listinfo/code-quality/
or read the archives at https://mail.python.org/pipermail/code-quality/

Pull requests are amazing and most welcome.

Install

Pylint can be simply installed by running::

pip install pylint

If you are using Python 3.6+, upgrade to get full support for your version::

pip install pylint --upgrade

If you want to install from a source distribution, extract the tarball and run
the following command ::

python setup.py install

Do make sure to do the same for astroid, which is used internally by pylint.

For debian and rpm packages, use your usual tools according to your Linux distribution.

More information about installation and available distribution format
can be found here_.

Documentation

The documentation lives at http://pylint.pycqa.org/.

Pylint is shipped with following additional commands:

  • pyreverse: an UML diagram generator
  • symilar: an independent similarities checker
  • epylint: Emacs and Flymake compatible Pylint

Testing

We use tox_ for running the test suite. You should be able to install it with::

pip install tox pytest

To run the test suite for a particular Python version, you can do::

tox -e py37

To run individual tests with tox, you can do::

tox -e py37 -- -k name_of_the_test

We use pytest_ for testing pylint, which you can use without using tox for a faster development cycle.

If you want to run tests on a specific portion of the code with pytest_, (pytest-cov_) and your local python version::

# ( pip install pytest-cov )
# Everything:
python3 -m pytest tests/
# Everything in tests/message with coverage for the relevant code:
python3 -m pytest tests/message/ --cov=pylint.message
coverage html
# Only the functional test "missing_kwoa_py3":
python3 -m pytest "tests/test_functional.py::test_functional[missing_kwoa_py3]"

Do not forget to clone astroid_ and install the last version::

git clone https://github.com/PyCQA/astroid.git

# From source
python3 astroid/setup.py build sdist
pip3 install astroid/dist/astroid*.tar.gz

# Using an editable installation
cd astroid
python3 -m pip install -e .

For more detailed information, check the documentation.

.. _here: http://pylint.pycqa.org/en/latest/user_guide/installation.html
.. _tox: https://tox.readthedocs.io/en/latest/
.. _pytest: https://docs.pytest.org/en/latest/
.. _pytest-cov: https://pypi.org/project/pytest-cov/
.. _astroid: https://github.com/PyCQA/astroid

License

pylint is, with a few exceptions listed below, GPLv2 <COPYING>_.

The icon files are licensed under the CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/>_ license:

  • doc/logo.png <doc/logo.png>_
  • doc/logo.svg <doc/logo.svg>_

主要指標

概覽
名稱與所有者pylint-dev/pylint
主編程語言Python
編程語言Python (語言數: 3)
平台
許可證GNU General Public License v2.0
所有者活动
創建於2015-12-09 05:40:02
推送於2025-06-02 20:41:44
最后一次提交
發布數211
最新版本名稱v3.3.7 (發布於 )
第一版名稱pylint-version-0_13_0 (發布於 )
用户参与
星數5.5k
關注者數79
派生數1.2k
提交數9.6k
已啟用問題?
問題數5764
打開的問題數992
拉請求數4121
打開的拉請求數32
關閉的拉請求數479
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?