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

相关推荐
x***38161 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
生信大表哥1 小时前
单细胞测序分析(五)降维聚类&数据整合
linux·python·聚类·数信院生信服务器
1024肥宅1 小时前
JavaScript 拷贝全解析:从浅拷贝到深拷贝的完整指南
前端·javascript·ecmascript 6
欧阳天风1 小时前
js实现鼠标横向滚动
开发语言·前端·javascript
局i2 小时前
Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用
前端·javascript·vue.js
seeyoutlb2 小时前
微服务全局日志处理
java·python·微服务
韩立学长2 小时前
基于Springboot课堂教学辅助系统08922bq1(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
ada7_2 小时前
LeetCode(python)——148.排序链表
python·算法·leetcode·链表
码界奇点2 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
盖世英雄酱581362 小时前
java深度调试技术【第六七八章:宽字节与多字节】
java·后端