-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Python as a virtual dependency #7966
Description
I'm creating a separate issue for this request that was previously discussed at #2215 (comment) with @alalazo.
There are multiple Python packages available in Spack (python, miniconda2, miniconda3); an Anaconda package has been requested (#2738, #2741), and some of the alternative interpreters (e.g. Jython, PyPy) might also be packaged at some point (even though they only support a subset of Python libraries). Since all these packages provide a Python interpreter and libraries, there should logically be a Python virtual package and the existing Python package should be renamed to CPython.
This has two advantages:
- Python can be used in lmod hierarchies. (This is why we discussed it in spack load: don't load multiple variants of same packages and don't load packages that depend on different versions of already-loaded packages #2215).
- Python libraries (e.g. py-numpy) can now be installed for one of the other providers.
@citibeth voiced her concerns about making such a change as the Python package is a bit special and the change might break other things. However, with #7955 this might become easier to implement.
I already tried to implement this change, but ran into some issues (#2215 (comment)). @alalazo also wanted to give it a try.