人人都会AI编程

附录 B 高频第三方库选型速查表

更新时间:2026-07-12

本表按典型技术场景分类,列出 Python 生态中高频使用的第三方库,帮助你快速做出工具选型。每个库都给出核心用途和选型提示。


Web 开发与网络

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| Django | 全能型 Web 框架,自带 ORM、Admin 后台、认证系统 | 适合数据驱动的复杂网站、企业系统,追求“开箱即用” |
| Flask | 轻量 Web 框架,灵活可扩展 | 适合 API 服务、中小型项目,想要自己掌控技术栈 |
| FastAPI | 高性能异步 Web 框架,自动生成 API 文档 | 适合现代异步 API、微服务,追求性能和开发效率 |
| requests | HTTP 客户端,发送请求、处理响应 | 所有 HTTP 调用场景的首选,语法简洁人性化 |
| httpx | 支持异步和 HTTP/2 的 HTTP 客户端 | 需要异步请求或 HTTP/2 时的现代替代方案 |
| gunicorn | WSGI HTTP 服务器 | 部署 Django/Flask 应用的生产标配 |
| uvicorn | ASGI HTTP 服务器 | FastAPI / 异步 Django 的生产服务器 |


数据分析与科学计算

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| NumPy | 多维数组与矩阵运算 | 整个数据科学生态的基石,任何数值计算的基础 |
| Pandas | 数据处理与分析(DataFrame) | 表格数据清洗、转换、聚合的第一选择 |
| Matplotlib | 基础数据可视化 | 最早的 Python 绘图库,功能全面但 API 较繁琐 |
| Seaborn | 统计图表可视化 | 基于 Matplotlib,统计图形更美观,一行出图 |
| SciPy | 科学计算功能(优化、插值、信号处理等) | 在 NumPy 之上提供更专业的数值算法 |
| Jupyter | 交互式笔记本环境 | 数据探索、分析文档、教学演示的标配工具 |
| OpenPyXL | 读写 Excel 文件 | 操作 .xlsx 文件,不依赖 Excel 软件 |


机器学习与人工智能

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| scikit-learn | 经典机器学习算法(分类、回归、聚类等) | 传统机器学习任务的不二之选,API 统一、文档好 |
| PyTorch | 动态计算图深度学习框架 | 研究氛围浓厚、易调试,目前社区最活跃 |
| TensorFlow | 静态+动态图深度学习框架 | 工业部署经验丰富,Keras 接口降低使用门槛 |
| Hugging Face Transformers | 预训练 NLP 模型调用 | 快速接入 BERT、GPT 等模型,自然语言处理必备 |
| LangChain | 大语言模型应用开发框架 | 构建 RAG、Agent 等 LLM 应用的胶水层 |
| XGBoost / LightGBM | 梯度提升树模型 | 结构化数据(表格)比赛的王者,性能极高 |


爬虫与自动化

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| requests | HTTP 请求发送 | 模拟浏览器发请求的基础库 |
| BeautifulSoup | HTML/XML 解析,提取数据 | 配合 requests 使用,简单灵活的解析工具 |
| lxml | 高性能 HTML/XML 解析 | 比 BeautifulSoup 快,支持 XPath,大规模抓取首选 |
| Scrapy | 企业级异步爬虫框架 | 大规模数据采集、定制化爬虫项目的首选方案 |
| Selenium | 浏览器自动化(真实浏览器操作) | 需要执行 JavaScript 渲染、模拟用户操作时用 |
| Playwright | 现代浏览器自动化 | 比 Selenium 更快更可靠,支持多浏览器,建议新项目优先考虑 |
| pyppeteer | Puppeteer 的 Python 接接口 | Chromium 自动化,轻量但维护不如 Playwright 活跃 |


测试工具

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| pytest | 优雅且强大的测试框架 | Python 测试的事实标准,支持固件、参数化、插件 |
| unittest | Python 标准库自带测试框架 | 无需额外安装,适合简单测试或兼容旧项目 |
| coverage | 测试覆盖率统计 | 搭配 pytest 使用,衡量测试充分程度 |
| mock / unittest.mock | 模拟对象与打桩 | 隔离依赖,模拟外部服务或复杂函数 |
| locust | 性能测试,模拟并发用户 | Python 编写测试脚本,可模拟百万级并发,适合 Web 压测 |


运维与部署

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| Fabric | 远程命令执行、部署自动化 | 简单的服务器批量操作,较旧但依然常用 |
| Ansible | 自动化配置管理(Python 编写) | 无代理架构,适合大规模服务器管理 |
| Supervisor | 进程管理工具 | 确保 Python 进程长期运行,崩溃自动重启 |
| APScheduler | 定时任务调度 | 在 Python 程序中添加类似 crontab 的任务 |
| docker-py | Docker 操作 Python 客户端 | 通过 Python 管理容器,集成到自动化流程 |


开发效率与工程化

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| pip | 包管理工具(官方自带) | 基础安装/卸载,结合 requirements.txt 管理依赖 |
| pipenv | 依赖管理与虚拟环境一体化 | 历史使用较多,现社区逐渐转向 Poetry |
| Poetry | 现代依赖管理与打包工具 | 推荐新项目使用,依赖锁定、发布流程更优雅 |
| Black | 代码自动格式化 | 强制执行代码风格,避免格式争论 |
| isort | import 语句排序 | 配合 Black 使用,按标准分组排序 import |
| flake8 | 代码风格检查 | 结合 PyFlakes、pycodestyle、McCabe 检查 |
| mypy | 静态类型检查 | 配合 Type Hints 使用,提前发现类型错误 |
| pre-commit | Git 钩子管理 | 在提交前自动运行格式化、检查等工具 |
| PyInstaller | 将 Python 程序打包成独立可执行文件 | 分发给没有 Python 环境的用户时使用 |


常用工具与杂项

| 库名 | 核心用途 | 选型提示 |
|------|----------|----------|
| python-dotenv | 从 .env 文件加载环境变量 | 开发环境配置管理,避免密钥硬编码 |
| tqdm | 快速添加进度条 | 循环中添加进度可视化,提升体验 |
| click | 命令行接口快速开发 | 写命令工具的全能库,装饰器式语法 |
| rich | 终端美化输出(颜色、表格、进度条) | 让控制台输出更漂亮易读 |
| Pillow | 图像处理 | Python 图像操作标准库 |
| psutil | 系统监控与资源查询 | 获取 CPU、内存、磁盘、进程信息 |
| pydantic | 数据校验与设置管理 | FastAPI 的底层数据校验库,也独立常用,用类型注解校验数据 |
| marshmallow | 序列化/反序列化与校验 | 传统数据校验与转换库,常用于 ORM 序列化 |


选型原则速记

  1. 新项目优先选现代活跃的库:比如 HTTP 请求用 httpx(异步)而非 urllib;浏览器自动化用 Playwright 而非旧版的 Selenium;依赖管理用 Poetry 而非 pipenv
  2. 优先选择标准库与主流库:能用一个 pathlib 解决的问题不要引入第三方;能用 pytest 就不要自己重新发明测试框架。
  3. 查看 PyPI 数据做辅助参考:一个库的下载量、最近更新时间、GitHub star 数、维护团队和文档质量,比某个博客推荐更有说服力。
  4. 项目规模决定框架重量:简单的脚本不引入 Django;复杂的数据管理系统不硬用 Flask 拼凑。根据实际情况选择最匹配的工具层级。