Как интегрировать и работать со сложной структурой синхронизации GIT-репозитория и хранить в папке в PYTHONPATH - PullRequest
0 голосов
/ 18 мая 2019

У меня есть структура проекта github MYMODULE, соответствующая рекомендациям, например:

README.rst
LICENSE
sample/__init__.py
sample/core.py
sample/helpers.py

Ядром моего проекта является папка sample, в которой хранится __init__.py. Я хотел бы иметь возможность держать его доступным, включая папку sample в PYTHONPATH, но, конечно, если я git -clone проекта в папке, указанной в PYTHONPATH, у меня будет другая папка MYMODULE перед папкой sample с файлом __init__, поэтому я не смогу его импортировать. Я знаю, что если переместить папку с примерами на один уровень выше, я смогу получить доступ к модулю, но это нарушит синхронизацию с моим репозиторием GitHub.

Существуют ли какие-либо рекомендации или рекомендации для решения этой проблемы?

Я пытался использовать git sparse checkout , но это не решает проблему, поскольку, тем не менее, сохраняет выбранную папку внутри родительской папки.

1 Ответ

1 голос
/ 18 мая 2019

git является инструментом разработки, но не распространением / развертыванием.Для установки пакета Python у вас должно быть setup.py.Затем вы можете установить пакет прямо из git , используя pip, или вы можете клонировать репозиторий самостоятельно и установить с помощью pip install -e . или даже с python setup.py install

Во время разработки вы можете клонировать код и указать $PYTHONPATH в текущем каталоге: export PYTHONPATH=$(pwd)

Но лучшая практика - virtualenv.Создайте setup.py для каждого пакета, создайте virtualenv для каждого отдельного проекта, установите пакеты с pip install -e .

...