Python tool
PyChecker is used to find typical programming errors in your source code. In order to install it you need download it and install manually (if you try install it using
easy_install it will not work, unfortunately). We will assume the following directory structure (note,
devenv is virtual environment, you can create it issuing
virtualenv devenv).
~/devenv/
`-- trunk/
|-- src/
| `-- greatings/
| |-- __init__.py
| |-- helloworld.py
| `-- tests/
| |-- __init__.py
| `-- test_helloworld.py
`-- tools/
Let download
pychecker into
tools directory and proceed with installation:
user1@deby:~/devenv/trunk$ wget -P tools/ http://downloads.\
sourceforge.net/project/pychecker/pychecker/0.8.18/\
pychecker-0.8.18.tar.gz
...
user1@deby:~/devenv/trunk$ cd tools && tar zxf \
pychecker-0.8.18.tar.gz \
&& cd pychecker-0.8.18
user1@deby:~/devenv/trunk/tools/pychecker-0.8.18$ \
../../../bin/python setup.py install && cd ../.. && \
rm -rf tools/pychecker-0.8.18
...
The next step you need to "fix" a bit a
pychecker file installed into your virtual environment
bin directory so the content look like this.
#!/bin/sh
site_packages_dir=$(dirname $0)/../lib/python2.6/site-packages
python $site_packages_dir/pychecker/checker.py "$@"
Since pychecker import all the files it is going to check, you need to start the tool in correct directory, in our case
src:
user1@deby:~/devenv/trunk$ cd src/
user1@deby:~/devenv/trunk/src$ ../../bin/pychecker greatings/*.py
Processing module helloworld (greatings/helloworld.py)...
Processing module __init__ (greatings/__init__.py)...
Warnings...
None
Please note that
pychecker doesn't drill into sub-packages, so in order to analyze tests issue the following command:
../../bin/pychecker greatings/tests/*.py
If you want to change the default behaviour, you can define options in pycheckrc file (use
-F option to specify a location). Here is an
example.
user1@deby:~/devenv/trunk$ wget -P tools/ http://pychecker.\
cvs.sourceforge.net/viewvc/pychecker/pychecker/pycheckrc
user1@deby:~/devenv/trunk$ cd src/
user1@deby:~/devenv/trunk/src$ ../../bin/pychecker -F \
../tools/pycheckrc greatings/*.py
Read more about pychecker
here and
here.
No comments :
Post a Comment