Installing the morphometrics pipeline is usually relatively easy, but there are a few edge cases that require special attention.
Thanks to Genevieve Buckley for this solution: (#8) This is a temporary workaround and needs additional testing!
- Build the conda environment like normal, but don't pip install pymeshlab - just remove it from the pip_requirements.txt file
- Install pyqt into your conda environment: For M1 Macs, the andfoy conda channel has a working pyqt build:
conda install pyqt -c andfoy
brew install libomp cgal xerces-c
git clone --recursive https://github.com/cnr-isti-vclab/PyMeshLab.git
cd PyMeshLab
# Build pymeshlab
mkdir src/build
cd src/build
cmake ..
make
make install
- Export the
KMP_DUPLICATE_LIB_OK
environment variable This prevents libomp errors. You can use conda to permanently set an environment variable in the morphometrics conda environment:
conda activate morphometrics
conda env config vars KMP_DUPLICATE_LIB_OK=TRUE
# Must reactivate conda environment
conda deactivate
conda activate morphometrics
conda env config vars list
# You should now see KMP_DUPLICATE_LIB_OK = TRUE in this list
- Check the build worked:
python -m pip install pytest
python -m pytest --pyargs pymeshlab
- Install pymeshlab to the conda environment:
pip install .
- You're ready to go! Try running the surface-morphometrics scripts on the example data. See the README for more details.
For older linux environments (such as CentOS7) Qt5 will not behave well. A container implementation is in progress (#10)