全面解析 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 生态中常用的包,希望能够帮助到你。

相关推荐
2301_8180084412 分钟前
数据库模型设计实战:如何正向工程从模型建表_规范化项目开发流程
jvm·数据库·python
科研前沿16 分钟前
多视角相机驱动的室内人员空间定位技术白皮书
大数据·人工智能·python·科技·数码相机·音视频
2401_8788204725 分钟前
Sa-Token基础篇
java·spring boot·后端·sa-token
覆东流38 分钟前
第10天:python元组
开发语言·后端·python
万事大吉CC38 分钟前
【5】Django 的模板语言:页面架构设计
后端·python·django
Hello--_--World40 分钟前
Vue指令:v-if vs v-show、v-if 与 v-for 的优先级冲突、自定义指令
前端·javascript·vue.js
神の愛42 分钟前
ReactHooks
前端·javascript·react.js
蝎子莱莱爱打怪1 小时前
用好CC,事半功倍!Claude Code 命令大全,黄金命令推荐、多模型配置、实践指南、Hooks 和踩坑记录大全
前端·人工智能·后端
本末倒置1831 小时前
VS Code 这次稳了!CSS Anchor Positioning 彻底终结 WebView 定位卡顿
前端
码界奇点1 小时前
基于Python的微信公众号爬虫系统设计与实现
开发语言·爬虫·python·毕业设计·web·源代码管理