New take on python2 vs python3
I am not happy anymore with the current way dune-python
handles python2 vs. python3.
I would like to refactor this to look the following:
- Each build knows exactly one interpreter, this may even be an interpreter from a virtualenv itself
- If no specific interpreter is given, it defaults to system python3
- dune modules can require an interpreter versions. If not met, the configuration process errors out
- dune-python will build its own virtualenvs for configure time usage. These are only to be used in subshells to not accidentally deactivate the virtualenv of the system interpreter (virtualenvs dont form a stack, deactivate will deactivate all of em).
- dune-python always provides a target
make pyinstall
that allows to install the python packages into the environment of the given interpreter (make install
always runs this in addition to any other stuff) - Testing modules with 2 AND 3 is a task for CI systems (2 builds)
This approach solves all sorts of problems, namely:
- Any weirdnesses specifying for which python versions packages are suitable
-
make install
with dune-python isnt as creepy anymore as it is right now
@tkoch @dion.haefner @rene.milk @rhess What do you think about that?