pip install dune-common?
What about generating a pip package of dune python bindings?
The challenge is to also build the C++ part of dune. There are examples that do that as well.
I opened a MR to keep track about the current progress.
How Petc4Py does it: https://gitlab.com/petsc/petsc/-/blob/master/setup.py
A simple example for pybind11 projects: https://github.com/pybind/python_example/blob/master/setup.py
And in general: https://packaging.python.org/tutorials/packaging-projects/
Show runpaths in library
readelf -d ~/testvenv/lib/python3.8/site-packages/dune/common/_common.cpython-38-x86_64-linux-gnu.so | grep PATH
Possible testing procedure:
# first clean up any remaining source distribution from modules ./dune-common/bin/dunecontrol exec python ~/DUNEPIP/dune-common/bin/pythonpackage.py -c # build packages for all modules in current directory with date dependent version number ./dune-common/bin/dunecontrol exec python ~/DUNEPIP/dune-common/bin/pythonpackage.py -s --version 2.8.DATEa0 # move all generated source distributions to '$HOME/dist' mv */dist/* $HOME/dist # test locally (in empty env) pip install -v --log logfile --find-links file://$HOME/dist --no-cache --upgrade dune-fem==2.8.20201017a0 >& install.out # upload python -m twine upload --repository gitlab $HOME/dist/*
gitlab entry to
~/.pypirc for the last step