Организация файлов проекта для веб-приложения Python с функциональностью базы данных

1

Я хотел бы получить совет о том, как организовать файлы для веб-приложения, управляемого базой данных.

Основными компонентами проекта являются:

  • База данных SQLite
  • Веб-приложение, написанное с помощью инфраструктуры Pyramid, которое читает из базы данных
  • Набор приложений Python, которые загружают данные и добавляют их в базу данных
  • Документация

Я хотел бы отслеживать все исходные файлы всех компонентов (включая документацию) с помощью 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
pyramid
organization

1 ответ

0
Лучший ответ

вам не нужны все ваши проекты в каталоге 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.

  • 0
    Спасибо за совет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню