See: #9335
Spack's python package prefers installing version 2.7.15, this takes precedence even when a dependent package requires a later version via the depends_on, namely py-matplotlib.
The proposal is that version(..., preferred=True) should be overridden when a dependent package specifies a later version with depends_on.