python项目的项目结构

时间:2012-04-03 18:59:20

标签: python maven

是否有任何工具可以为python特定项目生成项目布局,这与maven在java项目中为mvn archetype:generate完成的工作非常类似。

4 个答案:

答案 0 :(得分:7)

这是个好消息:你不需要任何工具。您可以以任何方式组织源代码。

让我们回顾一下为什么我们需要java世界中的工具:

在java中,您希望预先生成目录,因为命名空间系统规定每个类必须位于反映该包层次结构的目录结构中的一个文件中。因此,您有一个深层文件夹结构。 Maven为文件位置强制执行一组额外的约定。你想拥有自动化的工具。

其次,不同的人工制品需要使用不同的目标,甚至需要额外的maven项目(例如耳朵项目需要一些罐子和战争文物)。要创建的文件太多了,您需要使用工具来自动执行此操作。

复杂性使得像mvn archetype:generate这样的工具不仅有用。这几乎是不可或缺的。

在python领域,我们在语言中没有这些复杂性。

如果我的项目很小,我可以将所有的类和函数放在一个文件中(如果有意义的话)

如果我的项目规模更大(LOC或团队规模),那么将.py文件分组到模块中是有意义的,无论以何种方式对您和您的同行都有意义。

在这些日子结束时,它是在易于维护和可读性之间取得平衡。

答案 1 :(得分:5)

以下几个bash命令对我来说非常好用:

mkdir myproject
cd myproject
mkdir docs
mkdir tests
touch tests/__init__.py

使用python,与java或c不同,你通常不需要太多。请参阅the answers相关问题。如果您认为自己需要更多,那么您必须更加具体地了解自己的要求。

答案 2 :(得分:4)

在Python中(就像在任何语言中一样)如果你想让所有这些片段很好地配合在一起,你可以配置很多片段。文档,测试,虚拟环境,包装......

您可以在实际需要时或项目开始增长时添加这些配置。有一个工具可以为你配置所有这些,只是让你填补空白确实有所帮助。

要看的一些项目:

答案 3 :(得分:0)

对于 Python 和 maven,正如最初要求的那样(即 Java 也使用),您可以使用
https://github.com/paulvi/java-python-graalvm-template

标准的 Maven 文件夹布局意味着类似这样的东西

src
|---main
|   |---java (Keep your java files here)
|   |---resources
|   |---python (You can keep you python files here)
|        
|---test
|   |---java (Keep your java unit test files here)
|   |---resources (If you have any resources test specific)
|   |---python (for python test here)
|  

但我打赌它会让事情变得更容易而不是 src/test/python 使用 src/main/python/test 并排除 test 子文件夹复制到结果 jar/war 分发中。