Я хотел бы получить совет о том, как организовать файлы для веб-приложения, управляемого базой данных.
Основными компонентами проекта являются:
Я хотел бы отслеживать все исходные файлы всех компонентов (включая документацию) с помощью git.
Кажется ли следующая структура хорошей проекцией для проекта?
Main_Project_Directory
+-- virtualenv
| +-- bin, lib, include, man
| +-- PyramidApplication
| | +-- setup.py
| | +-- development.ini
| | +-- Application
| | | +-- __init__.py
| | | +-- ...
| | +-- ...
| +-- DatabaseWritingApp1
| | +-- __init__.py
| | +-- ...
| +-- DatabaseWritingApp2
| | +-- __init__.py
| | +-- ...
| +-- database.sqlite
+-- documentation
Как мне инициализировать репозитории git здесь? Было бы хорошо иметь один репозиторий git в верхнем каталоге для отслеживания приложения пирамиды, других приложений и документации? Или было бы предпочтительнее несколько репозиториев git? Я - единственный разработчик в этом проекте.
Кроме того, есть ли файл в virtualenv, в котором перечислены все установленные пакеты и их версии, чтобы каталоги bin, lib и т.д. Могли быть перестроены из него? Если это так, было бы неплохо включить этот файл в репозиторий git, чтобы virtualenv можно было легко перестроить после pull?
Спасибо за любую помощь.
вам не нужны все ваши проекты в каталоге virtualenv. Мне нравится помещать все мои файлы в ~/Workspace
чтобы они были чистыми. Просто убедитесь, что вы бежите . virtualenv_directory/bin/activate
. virtualenv_directory/bin/activate
перед запуском приложения пирамид.
Я не знаю, пытаетесь ли вы быть модульным с вашим кодом или нет. Другими словами, планируете ли вы использовать DatabaseWritingApp*
вне PyramidApplication
? Если это так, я бы сделал то, что вы делаете, и разделил их на разные папки и имел репозиторий GitHub для каждого, независимо от того, сколько у вас разработчиков. С другой стороны, если вы не планируете использовать DatabaseWritingApp*
отдельно, я бы просто PyramidApplication
все на PyramidApplication
и использовал один репозиторий GitHub.
Для ящиков и lib для virtualenv я должен убедиться, что все библиотеки, которые мне нужны, находятся в файле setup.py
и просто запустите python setup.py develop
прежде чем запускать приложение Pyramid. Это позволит убедиться, что ваш virtualenv имеет все необходимые библиотеки, если они все из easy_install или pip.