Using dune internal virtual env

Steps (for the changes see branch test/use_interal_duneenv):

  • I changed DunePythonTestCommand.cmake to use the virtual env python
  • I changed DunePythonInstallPackage.cmake to use the virtual env python for install_python
  • I enabled the python env and build my dune modules
      ./dune-common/bin/dunecontrol --opts=config.opts all
  • I then ran
      ./dune-common/build-cmake/run-in-dune-env \
                   dune-common/bin/setup-dunepy.py --opts=config.opts install
    This installs the dune packages (editable with my config.opts setting) into the dune internal env (due to the use of the run-in-dune-env scripts). The correct cmake flags are used by the setup-dunepy script. This last step could be done automatically by dunecontrol all after configuring all dune modules.

I can now run

    make test_python

in both the build directories of dune-common and dune-grid and that works fine.

The embedded tests fail at the moment because I'm not sure how to activate the correct python interpreter:

make test_embed1
./test_embed1 
terminate called after throwing an instance of 'pybind11::error_already_set'
  what():  ModuleNotFoundError: No module named 'dune.common'
Aborted (core dumped)

while

../../../run-in-dune-env ./test_embed1

works as expected.

Edited by Andreas Dedner