Я занимаюсь разработкой python приложения. Это приложение опирается на библиотеку с открытым исходным кодом, которую я разветвил и сильно изменил.
Если это имеет значение, разветвленная библиотека (очень большая часть WIP) доступна на github , если это поможет.
Чтобы импортировать разветвленную библиотеку в моем приложении, я сейчас делаю следующее:
sys.path.append(os.path.abspath(os.path.join(__file__, '..', '..', '..', '..', '..', 'couchdb')))
import couchdb
Это работает, но я не совсем доволен этим по понятным причинам. Это далеко не элегантно или гибко, а также, кажется, смущает мою IDE. Мне кажется, особенно в таком элегантном языке, как Python, должен быть лучший способ одновременно разрабатывать приложение и библиотеку, от которой он зависит.
И библиотека, и приложение в настоящее время расположены бок о бок в папке на моей машине, разделяющей виртуальную среду, но находящейся в двух отдельных git репозиториях. Для меня важно, чтобы они оставались в разных git репозиториях, поэтому вложение библиотеки в приложении отсутствует, но остальное я рад изменить.
Я уверен, что кто-то еще был в эта ситуация раньше, поэтому я надеюсь, что кто-то знает способ сделать это, который более "официально санкционирован" Python.