README for PyLint
Dependencies
Pylint requires the logilab-astng (version >= 0.14), logilab-common (version >= 0.13) and the optik (only for python < 2.3) packages.
- http://www.logilab.org/projects/astng
- http://www.logilab.org/projects/common
- http://optik.sourceforge.net/
Distributions
The source tarball is available at ftp://ftp.logilab.fr/pub/pylint.
You may apt-get a debian package by adding ::
deb ftp://ftp.logilab.org/pub/debian unstable/
to your /etc/apt/sources.list files. Pylint is also available in the standard Debian distribution
Contributed RPM packages for pylint and logilab-common are available at ftp://ftp.nest.pld-linux.org/test .
Pylint is also available in Gentoo, Fedora 4, Ubuntu, FreeBSD, Darwin.
Install
From the source distribution, extract the tarball and run ::
python setup.py install
For debian and rpm packages, use your usual tools according to your Linux distribution.
Note for Windows users:
On Windows, once you have installed pylint, the command line usage is
pylint.bat [options] module_or_package
But this will only work if pylint.bat is either in the current directory, or on your system path. (setup.py install install python.bat to the Scripts subdirectory of your Python installation -- e.g. C:\Python24\Scripts.) You can do any of the following to solve this:
- change to the appropriate directory before running pylint.bat
- add the Scripts directory to your path statement in your autoexec.bat file (this file is found in the root directory of your boot-drive)
- create a 'redirect' batch file in a directory actually on your systems path
To effect (2), simply append the appropriate directory name to the PATH= statement in autoexec.bat. Be sure to use the Windows directory separator of ';' between entries. Then, once you have rebooted (this is necessary so that the new path statement will take effect when autoexec.bat is run), you will be able to invoke PyLint with pylint.bat on the command line.
(3) is the best solution. Once done, you can call pylint at the command line without the .bat, just as do non-Windows users by typing: ::
pylint [options] module_or_package
To effect option (3), simply create a plain text file pylint.bat with the single line: ::
C:\PythonDirectory\Scripts\pylint.bat
(where PythonDirectory is replaced by the actual Python installation directory on your system -- e.g. C:\Python24\Scripts\pylint.bat).
IDE integration
Pylint is integrated in the following editors/IDEs:
- emacs (of course)
- eric3
- eclipse (using the pydev_ plugin, see also http://msdl.cs.mcgill.ca/MSDL/people/denis/meetings/pythonDev)
To use pylint from within vim, see http://www.gonzo.kiev.ua/projects/pylint.vim
_pydev: http://pydev.sourceforge.net
Some projects using Pylint
- The CheeseCake kwalitee reporting tool uses pylint to analyze the source code.
The following projects use pylint to help develop better code:
- http://browsershots.org
- OSAF Chandler (http://www.osafoundation.org/)
- CPS (http://www.nuxeo.org)
- Xen (http://www.xensource.com/)
- pyxmpp (http://pyxmpp.jabberstudio.org/)
- eXe (http://exelearning.org/)
- PrimaGIS (http://www.primagis.org)
- python-cdd (http://projetos.ossystems.com.br/python-cdd/)
- CDSWare (http://cdsware.cern.ch/)
- ASE (http://dcwww.camp.dtu.dk/campos/ASE/intro.html)
- RunJob (http://projects.fnal.gov/runjob/)
- Slugathon (http://slugathon.python-hosting.com/)
- mercurial
- Topographica (http://topographica.org/Home/index.html) (at least they intend to do so)
- ERP5 (http://www.erp5.org/)
- many more...
Documentation
Look in the doc/ subdirectory.
Comments, support, bug reports
Use the python-projects@logilab.org mailing list. Since we do not have publicly available bug tracker yet, bug reports should be emailed there too.
You can subscribe to this mailing list at http://www.logilab.org/mailinglists/python_projects/mailinglist_register_form
Archives are available at
http://lists.logilab.org/pipermail/python-projects/
If you prefer speaking french instead of english, you can use the generic forum-fr@logilab.org mailing list.
Contributors
- Sylvain Thenault: main author / maintainer
- Alexandre Fayolle: TkInter gui, documentation, debian support
- Brian van den Broek: windows installation documentation
- Amaury Forgeot d'Arc: patch to check names imported from a module exists in the module
- Benjamin Niemann: patch to allow block level enabling/disabling of messages
- Wolfgang Grafen, Axel Muller, Fabio Zadrozny, Pierre Rouleau, Maarten ter Huurne, Mirko Friedenhagen (among others): bug reports, feedback, feature requests...
- All the Logilab's team: daily use, bug reports, feature requests
- Other people have contributed by their feedback, if I've forgotten you, send me a note !
