- clone github repo or download source release at http://python.org/pypi/pyproj.
- If you clone the github repo, Cython is a dependency.
- python setup.py build
- python setup.py install (with sudo if necessary).
To use proj4 lib (and data files) that are already installed on the system, set PROJ_DIR environment variable to point to location of proj4 installation before running setup.py. If PROJ_DIR is not set, the bundled proj4 source code and data files are used.
Examples of how to set the PROJ_DIR environment variable:
- Windows -
C:\...> set PROJ_DIR=C:\OSGeo4W\
- Linux/OS X on most shells-
$ export PROJ_DIR=/lib/
nose2 is required to run some tests. There are two testing suites: doctests and unittests. Doctests are located in lib/pyproj/_init_.py. Unittests are located in unittest/.
To run all tests (add
-v option to add verbose output):
To run only the doctest:
python -c "import pyproj; pyproj.test()"
To run only the unittests:
python unittest/test.py [-v] OR: nose2 unittest/test.py [-v]
nose2 will automatically produce coverage for python files. In order to get coverage for the Cython code there are a couple extra steps needed. Travis-CI should be set up to measure this automatically.
- Download pyproj source.
- Install Cython, and all other testing requirements
pip install -r requirements-dev.txt
- Add this line to top of _proj.pyx
# cython: linetrace=True
Set the environment variable PYPROJ_FULL_COVERAGE to any value. This is only needed for installation. Most platforms
$ export PYPROJ_FULL_COVERGAGE=1. Windows:
C:...> set PYPROJ_FULL_COVERGAGE=1,
Install in editable/development mode (python setup.py uses the
- Using pip, use
--upgradeflag if pyproj is already installed.
- Using pip, use
pip install [--upgrade] --editable .
- Using python setup.py (this isn't well tested)
python setup.py build_ext --inplace python setup.py install
Docs are at http://jswhit.github.io/pyproj.
Report bugs/ask questions at https://github.com/jswhit/pyproj/issues.