1

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.

4

1 回答 1

2

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.

于 2012-05-30T17:50:42.333 回答