Momepy, similar to GeoPandas, can be a bit complicated to install. However, if you follow recommended instructions below, there should be no issue. For more details on issues with geospatial python stack, please refer to GeoPandas installation instructions.
As momepy is dependent on geopandas and other spatial packages, we recommend to install all dependencies via conda from conda-forge:
momepy
conda install -c conda-forge momepy
Conda should be able to resolve any dependency conflicts and install momepy together with all necessary dependencies.
If you do not have conda-forge in your conda channels, you can add it using:
conda config --add channels conda-forge
To ensure that all dependencies will be installed from conda-forge, we recommend using strict channel priority:
conda config --env --set channel_priority strict
Note
We strongly recommend to install everything from the conda-forge channel. Mixture of conda channels or conda and pip packages can lead to import problems.
If you want to make sure, that everything will work as it should, you can create a new conda environment for momepy. Assuming we want to create a new environment called momepy_env:
momepy_env
conda create -n momepy_env conda activate momepy_env conda config --env --add channels conda-forge conda config --env --set channel_priority strict conda install momepy
Momepy is also available on PyPI, but ensure that all dependencies are properly installed before installing momepy. Some C dependencies are causing problems with installing using pip only:
pip install momepy
If you want to work with the latest development version of momepy, you can do so by cloning GitHub repository and installing momepy from local directory:
git clone https://github.com/martinfleis/momepy.git cd momepy pip install .
Alternatively, you can install the latest version directly from GitHub:
pip install git+git://github.com/martinfleis/momepy.git
Installing directly from repository might face the same dependency issues as described above regarding installing using pip. To ensure that environment is properly prepared and every dependency will work as intended, you can install them using conda before installing development version of momepy:
conda install -c conda-forge geopandas networkx libpysal tqdm pygeos
Required dependencies:
geopandas
libpysal (>= 4.1.0)
networkx
tqdm
pygeos
Some functions also depend on additional packages, which are optional:
mapclassify (>= 2.4.2)
inequality
or
pysal (contains both inequality and mapclassify)