On UBUNTU 18.04 LTS and using Anaconda's Python distribution and package management system: 1) Make sure you have OpenMP support (f.e. "sudo apt-get install libopenmp-dev") 2) Install MPI and trilinos library which comes with Zoltan, following PyZoltan doc: (https://pyzoltan.readthedocs.io/en/stable/start.html#setting-up-on-ubuntu) sudo apt-get install openmpi-bin libopenmpi-dev libtrilinos-zoltan-dev 3) Export Zoltan variables before installing PyZoltan and PySPH (make sure the directories match in your system): export ZOLTAN_INCLUDE=/usr/include/trilinos export ZOLTAN_LIBRARY=/usr/lib/x86_64-linux-gnu export USE_TRILINOS=1 4) Create your venv (if you'd like) and follow the instructions to install the core dependencies on Anaconda of PySPH: (https://pysph.readthedocs.io/en/latest/installation.html#using-anaconda) conda install -c conda-forge cython mako matplotlib jupyter pyside pytest mock Note: I also added other packages to be safe: numpy-stl, make, nose, pytools 5) Install mpi4py: conda install -c conda-forge mpi4py 6) Install CyArray: pip install cyarray 7) Install PyZoltan: pip install pyzoltan 8) Finally, install PySPH: pip install --no-cache-dir pysph 9) You should be able to run "pysph test -v" succesfully and have access to CPU parallel capabilities of PySPH.