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:
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
:
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
You can also use Dockerfile to build minimal a environment for momepy, or get the official image from Docker Hub:
docker pull martinfleis/momepy:<version>
For example:
docker pull martinfleis/momepy:0.4
Note that images are available from version 0.4.
See more in the ReadMe
If you need the full stack of geospatial Python libraries, use darribas/gds_env which provides the updated platform for Geographic Data Science (including momepy):
docker pull darribas/gds_py
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:
Some functions also depend on additional packages, which are optional:
- mapclassify (>= 2.4.2)
- inequality