At any given moment, you only have one “virtual environment” active. The requirements of A will determine the versions of B and C, and their requirements will in turn determine the version of D. In your example, C requires D v1.3 and so this is the version of D to be installed, not the older version D v1.2 required by B.
3 Likes