一、速览:这不是一个软件,而是一张“Python 选品地图”

入门

Python 生态有个让人又爱又恨的特点:库实在太多了。做同一个功能,可能有十几个库都能实现,新手往往不知道选哪个。awesome-python-cn 就是来解决这个问题的。

它本身不是一个需要安装的软件,而是一个 GitHub 仓库,里面把大量 Python 库按用途分好类,每个库配一句中文说明。你可以把它理解成一张“Python 选品地图”:想找 Web 框架就去 Web 框架区,想找爬虫工具就去爬虫区,不用在搜索引擎里大海捞针。

这个项目由「开源前哨」和「Python开发者」微信公号团队维护更新,目前已有超过 3 万 Star,是中文社区里最常用的 Python 资源入口之一。

awesome-python-cn 仓库首页展示

二、获取方式:不用安装,打开就能逛

入门

这份资源清单不需要安装任何依赖,也不需要配置环境。你只需要一台能联网的电脑或手机,以及一个浏览器。

最直接的访问方式有两种:

  • 打开 GitHub 仓库页面:https://github.com/jobbole/awesome-python-cn
  • 打开官网页面:http://jobbole.github.io/awesome-python-cn/

如果你习惯用命令行,也可以把整个仓库下载到本地慢慢看。不过需要先安装 git(一种用来下载和管理代码版本的工具):

git clone https://github.com/jobbole/awesome-python-cn.git

下载完成后,本地会多出一个 awesome-python-cn 文件夹,里面就是完整的资源清单。对绝大多数人来说,直接看网页版就够了,不需要这一步。

三、核心用法:按分类找到你要的库

入门

打开仓库页面后,你会看到一大段目录结构。它按照功能把 Python 库分成了几十个大类,常见的有环境管理、包管理、Web 框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理、文本处理等。

每个分类下面是一条条资源,格式大致是:

库名称 + 一句话中文说明 + 项目链接

比如在「环境管理」分类下,你会看到 pyenv 被描述为“简单的 Python 版本管理工具”,virtualenv 被描述为“创建独立 Python 环境的工具”。这些说明都很短,但足够让你快速判断这个库是不是你要找的东西。

建议你这样逛:

  1. 先想清楚自己要做的事情,比如“我想写一个爬虫”
  2. 在页面上找到对应的分类,比如“网络爬虫”
  3. 浏览该分类下的库,看哪个名字和说明更符合需求
  4. 点击链接进入原项目,查看更详细的文档和示例

如果页面太长找不到分类,可以在 GitHub 页面上按 Ctrl + F(Mac 上是 Cmd + F)直接搜索关键词。

awesome-python-cn 分类内容示例

四、重点分类导览:新手最常逛的几个货架

进阶 · 推荐细读

整个清单包含几十个分类,全部看完不现实。下面挑几个新手最常遇到的场景,帮你快速熟悉应该从哪个货架开始看。

环境管理:解决“我该装哪个 Python 版本”的问题

如果你刚接触 Python,很可能会遇到不同项目需要不同 Python 版本的情况。这个分类下的工具就是用来管理版本和隔离环境的。pyenv 用来切换 Python 版本,virtualenv 用来给每个项目创建独立环境,避免不同项目的依赖互相打架。

包管理:解决“我该怎么安装第三方库”的问题

这个分类最重要的就是 pip,它是 Python 官方推荐的包管理工具,几乎所有第三方库都可以通过 pip install 安装。pip-tools 则用来锁定依赖版本,适合需要保证项目可复现的场景。

Web 框架:解决“我想用 Python 做网站”的问题

这里收录了 Django、Flask、FastAPI 等主流框架。Django 功能全面,适合快速搭建完整网站;Flask 更轻量,适合小型接口或学习;FastAPI 性能好,适合写 API 接口。每个框架的说明虽然短,但结合星标数和链接,能帮你快速做出初步选择。

网络爬虫:解决“我想自动抓取网页数据”的问题

这个分类下有 requests、Scrapy、BeautifulSoup 等经典工具。requests 负责发送网络请求,BeautifulSoup 负责解析网页内容,Scrapy 则是完整的爬虫框架,适合大型抓取任务。

数据可视化:解决“我想把数据画成图表”的问题

如果你做数据分析,会常用到 Matplotlib、Seaborn、Plotly 等。Matplotlib 最基础,Seaborn 更好看,Plotly 支持交互式图表。看中文说明可以快速区分它们的侧重点。

五、踩坑与建议:清单很好,但别犯这三个错

进阶 · 推荐细读

这份清单虽然好用,但使用时有几个常见问题需要注意。

清单里的库不一定都在活跃维护。点进原项目后,建议看一眼最近更新时间。如果已经两三年没动静,大概率不适合用在新项目里。

不要一次性安装清单里的所有库。有些库功能重叠,全装反而会让环境变得混乱。按需安装,用哪个装哪个。

这份清单的更新速度可能略滞后于英文原版 awesome-python。遇到拿不准的情况,可以交叉对比原仓库,或者查看具体库的 GitHub 页面。

另外,清单里标注“Python 标准库”的项目,意味着 Python 自带了,不需要额外安装。比如 ConfigParser 就是标准库,直接用即可,不用 pip 安装。

六、进阶:如何参与维护和获取更新

深入 · 老手可选

这类精选清单项目,最大的价值在于持续更新。如果你希望及时获取新资源,可以关注维护团队的微信公众号「开源前哨」和「Python开发者」,他们在知乎也有专栏,会定期分享热门开源项目。

如果你发现某个好用的 Python 库没有被收录,或者某个库的说明不准确,可以直接在 GitHub 上提 issue 或 Pull Request。贡献方式很简单:fork 仓库,修改对应分类下的内容,然后提交合并请求。维护团队会不定期审核合并。

对普通使用者来说,也可以点击仓库页面右上角的 Watch 按钮,选择“Releases only”或“All Activity”,这样有新更新时 GitHub 会给你发通知。

这份清单的定位始终是“索引”,不是“教程”。它帮你快速找到方向,但具体怎么用每个库,还是要回到原项目的文档里继续学习。把它当作入口,而不是终点。

项目信息

项目
仓库 jobbole/awesome-python-cn
语言 Makefile
Star 30,595
Fork 7,921
主页 http://jobbole.github.io/awesome-python-cn/

参考链接

延伸阅读

想继续探索?这些同领域的教程可能也适合你: