Самый простой ответ, который я знаю: структурируйте свой проект, чтобы вы могли изменить один из них и вести учет ваших изменений, чтобы вы могли применить его к будущим релизам.
Для моих проектов мне нравится иметь:
/myproject
/lib
/app1
/app2
/app3
Затем явно добавьте / lib к пути в setup.py
import os
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
import sys
lib_dir = os.path.join(PROJECT_PATH, 'lib')
if lib_dir not in sys.path[:4]:
sys.path.insert(1, os.path.join(PROJECT_PATH, 'lib'))
Я, вероятно, гораздо чаще, чем в среднем, беру приложение, устанавливаю его, а затем меняю 10%, чтобы оно работало именно так, как я хочу.
Преимущество этого состоит в том, что: 1) большинство зависимостей поставляются с кодом и отслеживаются в GIT 2) нет шансов для общесистемного изменения, которое может неожиданно вызвать ошибки в приложении, если вы запускаете несколько приложений с одного компьютера, и 3 ) Легко изменить, с историей изменений, любой и все в приложении.
Не имея слишком глубокого понимания команд управления юга и никогда не использовав django_pdb, ваша конкретная проблема может быть не решена с помощью подхода «сделать локальное копирование и переименовать одну из них», но я поделюсь, если это возможно.