Django Python: Install multiple versions of the same package within a virtualenv
Question: I'm integrating two Django apps together, but am finding that one requires
django-mptt version 3.x and the other requires 5.x. I can't upgrade the 3.x
app because I don't 'own' that particular app and it might be needed for some
old dependencies.

Is there any way short of forking and namespacing the django-mptt 5.x version
so both can be used? I'd really hate to fork it and am wondering if there are
better options out there.

Just wondering what others have done in similar situations. Thank you for
reading.


Answer: This is not possible with the usual python tools, since virtualenv are
supposed to be used for that.

One possibility is to put each version of the dependancy in each app
directory, this way they may import this one first instead of the other.

But if your goal is to not edit any of the apps code, you better prey they
don't play with the Python Path, nor share any imports related to the
dependancies.

