OSX Developers

Using pyenv

It is common among OSX developers to use the package manager homebrew for the installation of pyenv to being able to manage multiple versions of Python. They can encounter errors about the load of some SQLite extensions that pygeoapi uses for handling spatial data formats. In order to run properly the server you are required to follow these steps below carefully.

Make Homebrew and pyenv play nicely together:

.. code-block:: console
# see https://github.com/pyenv/pyenv/issues/106 alias brew=’env PATH=${PATH//$(pyenv root)/shims:/} brew’

Install python with the option to enable SQLite extensions:

.. code-block:: console
LDFLAGS=”-L/usr/local/opt/sqlite/lib -L/usr/local/opt/zlib/lib” CPPFLAGS=”-I/usr/local/opt/sqlite/include -I/usr/local/opt/zlib/include” PYTHON_CONFIGURE_OPTS=”–enable-loadable-sqlite-extensions” pyenv install 3.7.6

Configure SQLite from Homebrew over that one shipped with the OS:

.. code-block:: console
export PATH=”/usr/local/opt/sqlite/bin:$PATH”

Install Spatialite from Homebrew:

.. code-block:: console
brew update brew install spatialite-tools brew libspatialite

Set the variable for the Spatialite library under OSX:

.. code-block:: console
SPATIALITE_LIBRARY_PATH=/usr/local/lib/mod_spatialite.dylib