Каков наилучший способ использования пользовательского форка библиотеки python в другом проекте python? - PullRequest
0 голосов
/ 25 февраля 2020

Я занимаюсь разработкой python приложения. Это приложение опирается на библиотеку с открытым исходным кодом, которую я разветвил и сильно изменил.

Если это имеет значение, разветвленная библиотека (очень большая часть WIP) доступна на github , если это поможет.

Чтобы импортировать разветвленную библиотеку в моем приложении, я сейчас делаю следующее:

sys.path.append(os.path.abspath(os.path.join(__file__, '..', '..', '..', '..', '..', 'couchdb')))
import couchdb

Это работает, но я не совсем доволен этим по понятным причинам. Это далеко не элегантно или гибко, а также, кажется, смущает мою IDE. Мне кажется, особенно в таком элегантном языке, как Python, должен быть лучший способ одновременно разрабатывать приложение и библиотеку, от которой он зависит.

И библиотека, и приложение в настоящее время расположены бок о бок в папке на моей машине, разделяющей виртуальную среду, но находящейся в двух отдельных git репозиториях. Для меня важно, чтобы они оставались в разных git репозиториях, поэтому вложение библиотеки в приложении отсутствует, но остальное я рад изменить.

Я уверен, что кто-то еще был в эта ситуация раньше, поэтому я надеюсь, что кто-то знает способ сделать это, который более "официально санкционирован" Python.

1 Ответ

1 голос
/ 25 февраля 2020

Тот факт, что ваш код основан на couchdb, на самом деле не так важен, так как он, вероятно, уже не совместим с couchdb. Просто установите его правильно под собственным уникальным именем, а затем импортируйте его, как и любой другой модуль.

import couchdbdmj

Не ставьте свои скрипты в зависимость от среды разработки: настройте среду разработки для предоставления пользовательских модулей в едином вопросе.

...