当前位置: 首页 > news >正文

什么是pip? -- Python 包管理工具

前言

        不同的编程语言通常都有自己的包管理工具,这些工具旨在简化项目的依赖管理、构建过程和开发效率,同时促进代码的复用和共享。每个包管理工具都有其独特的特点和优势,开发者可以根据自己的编程语言和项目需求选择合适的包管理工具。

        pip是一个现代的、通用的 Python 包管理工具。

目录

1.主要功能

1.1 包的安装与管理

1.2 项目依赖管理

1.3 环境隔离与虚拟环境支持

1.4 查看包信息

2.优点

3.缺点 

总结


1.主要功能

1.1 包的安装与管理

  • 安装:能够从 Python 包索引(Python Package Index,PyPI)及其他索引源下载 Python 包及其依赖项,并将它们安装到本地 Python 环境中。
  • 卸载:可以卸载不再需要的 Python 包。
  • 升级:能够方便地将已安装的包升级到最新版本。
# 安装 第三方包numpy
pip install numpy# 指定镜像源地址  临时使用清华大学的镜像源安装numpy包
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple# 安装 第三方包numpy 指定版本
pip install numpy==1.23.5# 卸载 第三方包numpy
pip uninstall numpy# 升级第三方包numpy
pip install --upgrade numpy

1.2 项目依赖管理

        在实际的 Python 项目开发中,通常会使用到多个第三方包,这些包之间可能存在依赖关系。pip 可以自动处理这些依赖关系,确保项目所依赖的包及其版本的正确性。开发人员可以创建一个 requirements.txt 文件,列出项目所需的包及其版本,然后使用 pip install -r requirements.txt 命令批量安装这些依赖包

导出当前项目-开发环境的依赖包

这个命令会将当前环境中安装的所有 Python 包及其版本信息输出到 requirements.txt 文件中。

pip freeze > requirements.txt

安装当前项目-开发环境的依赖包

在新环境中,可以使用以下命令安装这些包

pip install -r requirements.txt

1.3 环境隔离与虚拟环境支持

        当不同的项目用到的开发环境不一样时,可以创建多套虚拟环境.创建虚拟环境有多套方法,再创建完虚拟环境后,再通过pip来安装下载和安装第三方包.

1.4 查看包信息

# 查看numpy包的信息
pip show numpy

 numpy包信息如下

2.优点

  1. 广泛的包资源
  2. 简单易用的命令行 

3.缺点 

  1. 依赖关系管理可能存在版本冲突和依赖嵌套复杂等问题;
  2. 依赖不完整  可能不会自动安装该包所依赖的所有子依赖;
  3. 安全性方面 可能存在一些恶意或低质量的包混入其中和依赖来源不明的问题;
  4. 环境隔离不够完善 默认全局安装,对整个系统产生影响;切换虚拟环境时,不方便.
  5. 下载速度慢 默认从 Python Package Index(PyPI)下载包,,一旦安装失败就要重新来。下载的包过大时,建议指定或设置为国内的镜像源来提高下载速度.建议2:较大的包,下载wheel文件,再用pip进行安装. 

总结

        pip 是 Python 开发者不可或缺的工具,它极大地简化了 Python 包的管理和项目的开发过程,使得开发者能够更加高效地利用 Python 丰富的生态系统


http://www.mrgr.cn/news/44576.html

相关文章:

  • 高数面积公式推导过程
  • Cocos_鼠标滚轮放缩地图
  • 深入了解卡尔曼滤波:最优状态估计的数学神器
  • 2.1MyBatis——ORM对象关系映射
  • 整数划分问题
  • 智能工厂的软件设计 【三ji】公共逻辑语言映射到祖传代码( 元级)中为“Program”规划了三层置标架构,即“Program”的标准通用置标语言
  • 面试系列-淘天提前批面试
  • javaScript操作元素(9个案例+代码+效果)
  • Java实体对象转换利器MapStruct详解
  • Maven 入门详解
  • linux 重置root密码
  • 【英语】考研英语语法体系
  • 【大语言模型-论文精读】用于医疗领域摘要任务的大型语言模型评估综述
  • LSTM模型实现电力数据预测
  • 微信小程序开发问题记录
  • 复现文章:R语言复现文章画图
  • 数据仓库拉链表
  • 【PostgreSQL】PG数据库表“膨胀”粗浅学习
  • 【Spring】“请求“ 之后端传参重命名,传递数组、集合,@PathVariable,@RequestPart
  • localhost与127.0.0.1傻傻分不清楚,区别详解来了