likes
comments
collection
share

全面解析 python 包管理工具 pip

作者站长头像
站长
· 阅读数 6

一、什么是 pypi

全面解析 python 包管理工具 pip

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

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

二、什么是 pip

全面解析 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
  • 安装
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 格式

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

8.3)一个简单的示例

touch requirements.txt

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

8.4)pip 安装 requirements.txt 中的包

pip install -r requirements.txt

8.5)更新 requirements.txt 中的包

pip freeze > requirements.txt

九、python 中常用包推荐

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

十、小结

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