全面解析 python 包管理工具 pip

一、什么是 pypi

The Python Package Index 是 python 软件包的存储库。在这里可以找到社区中你需要的 python 软件包。

pipy 中有 50+ 多万个项目,500+ 万加的释放,以及 76+ 万的用户。python 生态庞大,值得拥抱。

二、什么是 pip

The Python Package Installer python 的包管理工具

三、资源

四、自带 pip 的 python

🚨🚨🚨注意:Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。

五、安装 pip

如果你还没有 pip 可以安装,带有 pip 的 python 版本。

  • py -m ensurepip --upgrade ensurepip 确认模块
  • 使用 get-pip 引导安装

六、pip 命令详解

pip --help 获取所有 pip 命令提示

  • 升级pip: pip install -U pip
  • 安装
sh 复制代码
pip install pkg              # 最新版本
pip install pkg==1.0.4       # 指定版本
pip install 'pkg>=1.0.4'     # 最小版本

pip install tmuxp # 安装 tmuxp 示例
  • 升级包:pip install --upgrade pkg
  • 搜索包: pip search pkg
  • 显示包信息:pip show/pip show -f pkg
  • 显示所有已经安装的包:pip list(pip list -o 可升级)

七、pip 镜像站

八、requirements.txt 记录python包管理工具

8.1)什么是 requirements.txt

requirements.txt 是 python 在不同的环境中对依赖包的一种约定,用于列出 Python 项目中所有的依赖包以及对应版本号的文本文件。一般在项目的在工程目录下。

8.2)requirements.txt 格式

sh 复制代码
pkg==version 等于版本
pkg>version 大于版本
pkg<version 小于版本
pkg>=version 大于等于版本
pkg<=version 小于等于版本
pkg~=version 大于版本
pkg >= 1.0, <=2.0 容版本,使用任何大于或等于指定版本,但不大于当前发行系列的版本,

8.3)一个简单的示例

txt 复制代码
touch requirements.txt

# 输入
requests==2.26.0
numpy>=1.21.4
pandas<=1.3.5

8.4)pip 安装 requirements.txt 中的包

sh 复制代码
pip install -r requirements.txt

8.5)更新 requirements.txt 中的包

sh 复制代码
pip freeze > requirements.txt

九、python 中常用包推荐

领域 库名称 描述
数据处理与科学计算 NumPy 用于数值计算,提供高效的多维数组对象和操作。
Pandas 用于数据处理和分析,提供了数据结构和工具。
SciPy 提供了许多科学计算的工具包,包括数值积分、优化、信号处理等。
matplotlib 用于绘制图表和数据可视化。
机器学习与人工智能 Scikit-learn 提供了各种机器学习算法和工具。
TensorFlow 或 PyTorch 用于深度学习和神经网络。
Keras 用于构建和训练神经网络的高级 API。
Web 开发 Flask 或 Django Web 应用程序框架,用于构建 Web 应用。
requests 用于 HTTP 请求和访问 Web 数据。
自然语言处理 NLTK 用于自然语言处理的库,包含了丰富的语料库和算法。
spaCy 提供了高效的自然语言处理工具。
测试 unittest Python 内置的单元测试框架。
pytest 简化测试的库,支持更多的测试特性。
图像处理 Pillow 用于图像处理的库,支持图像格式的处理和基本图像操作。
数据库 SQLAlchemy 用于数据库操作的库,提供了高层的 SQL 工具。
pymongo 用于 MongoDB 数据库的 Python 客户端库。
加密与安全 cryptography 提供了加密工具和算法。
请求相关 Requests 简单易用的 HTTP 请求库,用于发送各种类型的 HTTP 请求。
HTML 解析相关 Beautiful Soup 用于解析 HTML 和 XML 文档,功能强大且灵活。
游戏开发 Pygame 用于创建 2D 游戏的库,提供了图形、声音和输入的支持。
Pyglet 用于开发游戏和多媒体应用程序的库,支持 OpenGL。
Ren'Py 用于创建视觉小说和交互式故事的框架。
Arcade 适用于初学者的 2D 游戏开发库,旨在简化游戏开发过程。
PyOpenGL Python 的 OpenGL 实现,允许直接访问 OpenGL API。

十、小结

本文主要关注 pip 包管理工具以及使用方法,pip 已经在内置到了新版的 python 中,使用 pip 可方便的管理 python 的第三方依赖。同时 pip 可以通过 requirements.txt 来配置当前项目的依赖以及版本,可以很好的管理自不同环境中包的依赖问题,最后推荐了一些 python 生态中常用的包,希望能够帮助到你。

相关推荐
神奇小汤圆9 分钟前
面试官问:"你们上线前怎么测Agent系统?上线后怎么知道它好不好?"
后端
FfHUCisI9 分钟前
Golang - 信号量模式(Semaphore Pattern)
开发语言·后端·golang
神奇小汤圆19 分钟前
Redis 和 MySQL 如何保证数据一致性?先更新数据库还是先删缓存,延迟双删、MQ、Canal 一次讲透
后端
犹豫的果冻布丁1 小时前
从零给 DeepSeek Harness 写一个壁纸皮肤插件(已开源)
前端·后端
weixin_431600441 小时前
NestJS 入门(10):日志——为什么常用 Winston?
后端·学习·日志·nest.js·winston
中科高级技工学校1 小时前
乌鲁木齐美术艺考技校实践分享
人工智能·python
漏刻有时1 小时前
数据可视化Three.js 3D 地图实战:单文件原生实现省域区县拉伸建模
前端
会说话的番茄2 小时前
AI 满嘴跑火车怎么办?给它配个"小抄"
前端·aigc
计算机魔术师2 小时前
AI 权力集中辩论实录:从「token 工厂」到「唯一幸存者」
前端
步行cgn2 小时前
MyBatis <where> 标签详解:让你的动态 SQL 更优雅、更安全
后端