4 个Python项目管理与构建工具,建议收藏

本文介绍了Python项目管理及构建工具的现状,包括CookieCutter、PyScaffold、PyBuilder和Poetry。CookieCutter生成经典项目结构,PyScaffold创建Python项目脚手架,PyBuilder的目录结构接近Maven,而Poetry则提供强大的依赖管理。文章讨论了各工具的目录布局、构建过程和使用体验,并指出项目复杂度和使用难度通常随工具的不同而降低。
摘要由CSDN通过智能技术生成

 

Python 历时这么久以来至今还未有一个事实上标准的项目管理及构建工具,以至于造成 Python 项目的结构与构建方式五花八门。这或许是体现了 Python 的自由意志

不像 Java 在经历了最初的手工构建,到半自动化的 Ant, 再到 Maven 基本就是事实上的标准了。其间 Maven 还接受了其他的 Gradle(Android 项目主推), SBT(主要是 Scala 项目), Ant+Ivy, Buildr 等的挑战,但都很难撼动 Maven 的江湖地位,而且其他的差不多遵循了 Maven 的目录布局

回到 Python,产生过 pip, pipenv, conda 那样的包管理工具,但对项目的目录布局没有任何约定

关于构建很多还是延续了传统的 Makefile 的方式,再就是加上 setup.py 和 build.py 用程序代码来进行安装与构建。关于项目目录布局,有做成项目模板的,然后做成工具来应用项目模板

下面大概浏览一下四个工具的使用

  1. CookieCutter

  2. PyScaffold

  3. PyBuilder

  4. Poetry

01 CookieCutter

一个经典的 Python 项目目录结构

$ pip install cookiecutter$ cookiecutter gh:audreyr/cookiecutter-pypackage # 以 github 上的 audreyr/cookiecutter-pypackage 为模板,再回答一堆的问题生成一个 Python 项目......project_name [Python Boilerplate]: sample......

最后由 cookiecutter 生成的项目模板是下面的样子:

$ tree samplesample├── AUTHORS.rst├── CONTRIBUTING.rst├── HISTORY.rst├── LICENSE├── MANIFEST.in├── Makefile├── README.rst├── docs│ ├── Makefile│ ├── authors.rst│ ├── conf.py│ ├── contributing.rst│ ├── history.rst│ ├── index.rst│ ├── installation.rst│ ├── make.bat│ ├── readme.rst│ └── usage.rst├── requirements_dev.txt├── sample│ ├── __init__.py│ ├── cli.py│ └── sample.py├── setup.cfg├── setup.py├── tests│ ├── __init__.py│ └── test_sample.py└── tox.ini
3 directories, 26 files

这大概是当前比较流行的目录结构的主体框架,主要元素是:

$ tree samplesample├── Makefile├── README.rst├── docs│ └── index.rst
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值