Сергей Горностаев предложил использовать
tox, а в
документации этого инструмента я наткнулся на более простое и удобное решение.
В документации
setuptools есть раздел
Development mode.
Если вместо команды install использовать команду develop
python3 setup.py develop
пакет не будет собран и полноценно установлен в глобальное или виртуальное окружение.
Вместо этого, в глобальном или виртуальном окружении будет создана ссылка на исходники пакета (ссылка представляет собой файл с расширением .egg-link).
После этого, пакет становится доступен для импорта.
Если импортировать такой пакет в Django-проект, сделать manage.py runserver и начать редактировать исходники пакета -- встроенный в Django сервер для разработки как обычно перезапускается при каждом сохранении исходников пакета. Хотя импортированный пакет может лежать где угодно в файловой системе.
Таким образом, работая над батарейкой для Django -- можно тут же видеть изменения в запущенном Django-проекте, без необходимости переустанавливать батарейку после каждой правки её исходников.
Спасибо, проблема решена просто, дёшево и элегантно.
P.S. Предложенная Сергеем библиотека
tox больше подходит для автоматизации тестирования Python проекта во множестве разных рабочих окружений. Например, если Вы гарантируете пользователям поддержку разных версий требуемых библиотек, разных версий интерпретатора, разных интерпретаторов и т.д. -- tox может серьёзно облегчить Вам жизнь.
P.P.S. Если кто-то не знает как пользоваться
setuptools и создавать установочные файлы для своих Python пакетов -- есть статьи и даже видео на русском языке. Например: