我想了解如何为数据库驱动的Web应用程序组织文件。
该项目的主要组成部分是:
我想使用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?
感谢您的帮助。
答案 0 :(得分:0)
您不需要virtualenv目录中的所有项目。我喜欢将所有文件放在~/Workspace
中以保持清洁。只需确保在运行金字塔应用程序之前运行. virtualenv_directory/bin/activate
。
我不知道您是否尝试使用您的代码进行模块化。换句话说,您打算在DatabaseWritingApp*
之外使用PyramidApplication
吗?如果是这样,我会做你正在做的事情并将它们分成不同的文件夹并为每个文件夹分配一个GitHub存储库,无论你有多少开发人员。另一方面,如果您不打算单独使用DatabaseWritingApp*
,我会将所有内容归为PyramidApplication
并使用一个GitHub存储库。
对于virtualenv的bin和lib,我所做的是确保我需要的所有库都在setup.py
文件中,并在运行Pyramid应用程序之前运行python setup.py develop
。这将确保您的virtualenv具有所有必需的库,假设它们都来自easy_install或pip。