Я использую Git для контроля версий в проекте Django.
Насколько это возможно, весь исходный код, который сам по себе не является частью проекта, но зависит от проекта, вводится как подмодули Git.Они живут в каталоге lib
и должны быть включены в путь Python.Структура каталогов / файлов выглядит следующим образом:
.git
docs
lib
my_project
apps
static
templates
__init__.py
urls.py
manage.py
settings.py
.gitmodules
README
Что, по вашему мнению, является наилучшей практикой для включения библиотек libs в путь python?
Я использую virtualenv, так что я мог бы легко скомпоновать библиотеки с каталогом site-packages в virtualenv.Однако это свяжет virtualenv с этим конкретным проектом.я понимаю, что virtualenv не должен зависеть от моих файлов.вместо этого мои файлы должны зависеть от virtualenv.
Я думал об использовании одного и того же virtualenv для разных локальных копий этого проекта, но если я сделаю это так, я потеряю эту способность.Любая лучшая идея, как подойти к этому?
Обновление:
Лучшим решением оказалось позволить pip управлять всеми зависимостями.
Однако это означает, что вы не можете использовать подмодули git, поскольку pip пока не может правильно обрабатывать относительные пути .Таким образом, внешние зависимости должны жить на virtualenv (обычно: my_env / src / a_python_module).
Я бы все же предпочел использовать подмодули, чтобы некоторые зависимости жили в моем дереве проекта.Это имеет больше смысла для меня, так как мне уже нужно было раскошелиться на эти репозитории, чтобы изменить некоторые из них, и, вероятно, придется изменить их еще немного в будущем.