使用Maven实现的Python项目的项目结构

sg24os4d  于 2022-10-26  发布在  Maven
关注(0)|答案(4)|浏览(640)

有没有什么工具可以为特定的项目生成项目布局,就像maven为Java项目使用mvn archetype:generate所做的那样。

efzxgjgh

efzxgjgh1#

好消息是:你不需要任何工具。你可以用你想要的任何方式来组织你的源代码。
让我们回顾一下为什么我们在Java世界需要工具:
在Java中,您希望预先生成目录,因为名称空间系统规定每个类必须位于反映包层次结构的目录结构中的一个文件中。因此,您拥有一个深层的文件夹结构。Maven强制实施了一组附加的文件位置约定。您想要有工具来自动执行此操作。
其次,不同的构件需要使用不同的目标,甚至需要额外的Maven项目(例如,EAR项目需要几个jar和战争构件)。要创建的文件太多了,您希望有工具来自动执行此操作。
这种复杂性使得像mvn archetype:generate这样的工具不仅有用。它几乎是不可或缺的。
在Python的世界里,我们只是在语言上没有这些复杂性。
如果我的项目很小,我可以将我的所有类和函数放在一个文件中(如果有意义的话)
如果我的项目规模更大(LOC或团队规模),那么以您和您的同事认为合理的方式将.py文件分组到模块中是有意义的。
归根结底,它是关于在易维护性和可读性之间取得平衡的。

xxe27gdn

xxe27gdn2#

在Python中(就像在任何语言中一样),如果您想让它们很好地结合在一起,有很多部分需要配置。文档,测试,虚拟环境, Package ,...
您可以在整个过程中添加这些配置,当您真正需要它们时,或者当您的项目开始增长时。有一个工具可以为您配置所有这些,只需让您填补空白,确实有相当大的帮助。
以下是几个值得关注的项目:

bprjcwpo

bprjcwpo3#

以下几个bash命令非常适合我:

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

与Java或C语言不同,使用Python时,您通常不需要更多。请参阅the answers以了解相关问题。如果你认为你需要更多,你将不得不更具体地说明你的要求。

6yjfywim

6yjfywim4#

对于最初询问的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/main/python/test并将test子文件夹从复制到结果JAR/WAR发行版中排除出去,会比使用src/test/python更容易。
编号:https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

相关问题