
PyPI 是 Python 官方的软件包仓库,全称是 Python Package Index,中文常译作“Python 包索引”。它就像 Python 生态里的应用商店,所有公开的第三方库(比如 requests、numpy、django)都托管在这里,供全球开发者搜索、下载和安装。
PyPI 的核心作用
它不只是一个“下载网站”,而是支撑整个 Python 开发流程的关键基础设施:
-
统一发布平台:开发者完成自己的库后,可以打包上传到 PyPI,其他人就能直接用
pip install安装 -
版本分发中心:同一个包可同时存在多个版本(如
requests 2.28.0和2.31.0),pip 默认安装最新稳定版,也支持指定版本安装 -
依赖解析基础:当你运行
pip install flask,pip 会自动从 PyPI 查找 Flask 及其依赖(如Werkzeug、Jinja2),并递归安装 -
生态协作枢纽:配合
requirements.txt或pyproject.toml,团队能复现一致的依赖环境
PyPI 和 pip 是什么关系
pip 是 Python 的默认包安装工具,而 PyPI 是 pip 默认连接的源(即“服务器”)。你可以把 pip 理解成“应用商店客户端”,PyPI 就是它的“官方服务器”。
- 执行
pip install pandas,本质是让 pip 向 PyPI 发起请求,下载对应包的文件(通常是.whl或.tar.gz)并安装 - 你也可以换源,比如用清华、豆瓣镜像加速下载,但底层服务对象仍是 PyPI 的数据结构和接口
- 上传包用的是
twine工具,目标地址也是 PyPI(或测试站test.pypi.org)
怎么访问和使用 PyPI
不需要注册就能浏览和下载,但上传包或管理项目需要账号:
立即学习“Python免费学习笔记(深入)”;
- 官网地址:https://www.php.cn/link/1921e14349820cc66e19220da2839247 —— 可直接搜索、查看文档、看下载统计、查版本历史
- 搜索示例:在首页搜
click,能看到项目主页、最新版本、Python 兼容性、许可证、维护者等信息 - 命令行中快速查包:
pip search xxx已停用,推荐用网页搜索或pip index versions xxx(需 pip ≥ 21.3) - 安装特定版本:
pip install requests==2.31.0,pip 仍是从 PyPI 拉取该版本的发布文件
PyPI 不是万能的,也有边界
它专注做一件事:托管和分发符合 Python 打包规范的开源库。因此要注意:
- 不托管二进制解释器(如 CPython)、系统级工具(如
pyenv)或非 Python 项目 - 不提供私有部署能力(企业若需内网私有仓库,要用
devpi、Artifactory或private-pypi等方案) - 不审核代码安全性,只做基础格式校验;所以安装陌生包前建议看 star 数、更新频率、作者信誉
- 包名一旦被占用,他人无法再注册同名包(哪怕删了也永久保留),命名需谨慎











