前言

对于已经习惯了 Java 语言中的 SpringBoot+MyBatisPlus 方式的我而言,在使用 python 开发相关工作辅助工具的时候,自然会想到使用一些类似的框架来实现。原因在于思想方法是一致的,只不过是具体实现的语言的不同而已。

因此,对于 python 开发框架我选择了 FastAPI+SqlAlchemy+Poetry+Typer+PyMySQL 这个组合。

WEB框架

FastAPI https://fastapi.tiangolo.com/zh/,截止2024年7月14日,GitHub上的星达到 7.4万还要多。 而我选择 FastAPI 的更重要的一点,其使用方式与 SpringBoot 相对比较接近,因此上手也变得更加容易。

ORM框架

python 开发过程中,不可避免的需要涉及到数据库的操作,因为我们以 MySQL 为主,因此除了跨数据库的兼容性,更看重在MySQL数据库上的实用性。 在没有使用ORM框架之前,数据库的操作使用的 PyMySQL https://pymysql.readthedocs.io/en/latest/index.html 使用起来非常的简单。 而我把 SqlAlchemyhttps://www.sqlalchemy.org/ 这个老牌的ORM框架当做是 Java 中的 Hibernate,更加适合后台框架开发。我直接选择 2.0 及以上的版本。

CLI框架

对于时常开发一些命令行工具而言,我喜欢使用 Typer https://typer.tiangolo.com/,这也是 FastAPI 团队的杰作,相当于 FastCLI