关于maven:python项目的项目结构

Project structure for python projects

是否有任何工具为Python特定的项目生成项目布局,与Maven完成Java项目EDCOX1的0类似。


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

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

在爪哇中,您需要预先生成目录,因为命名空间系统规定每个类必须在反映该包层次结构的目录结构中生存在一个文件中。因此,您有一个很深的文件夹结构。maven为文件位置强制执行一组附加的约定。您希望有自动化的工具。

其次,不同的人工制品需要使用不同的目标,甚至需要额外的Maven项目(例如,EAR项目需要几个罐子和战争人工制品)。要创建的文件太多了,您需要使用工具来实现自动化。

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

在PythonLand中,我们在语言中没有这些复杂性。

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

如果我的项目规模更大(loc或团队规模),以对您和您的同事有意义的任何方式将.py文件分组到模块中是有意义的。

到了最后,它将在易维护性和可读性之间取得平衡。


以下几个bash命令对我来说非常有效:

1
2
3
4
5
mkdir myproject
cd myproject
mkdir docs
mkdir tests
touch tests/__init__.py

与Python不同,与Java或C不同,你通常不需要更多的东西。查看相关问题的答案。如果你认为你需要更多,你必须对你的需求更加具体。


在Python中(就像在任何语言中一样),如果您想让所有的代码都能很好地一起运行,那么需要配置很多代码。文档、测试、虚拟环境、打包…

您可以一路添加这些配置,当您实际需要它们时,或者当您的项目开始增长时。拥有一个可以为您配置所有这些内容的工具,只需让您填补空白,这确实有很大帮助。

要查看的几个项目:

  • Python脚手架
  • 炊具
  • 皮克斯塔