当前位置: 首页 > 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. 环境隔离不够完善 默认全局安装,对整个系统产生影响;切换虚拟环境时,不方便.

总结

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

http://www.lryc.cn/news/454637.html

相关文章:

  • FastAPI框架使用枚举来型来限定参数、FastApi框架隐藏没多大意义的Schemes模型部分内容以及常见的WSGI服务器Gunicorn、uWSGI了解
  • OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,当初有的问题未解决,目前新版未尝试
  • 前沿论文创新点集合
  • 刷题记录(好题)
  • 【大数据入门 | Hive】函数{单行函数,集合函数,炸裂函数,窗口函数}
  • python sqlite3 工具函数
  • 顺丰Android面试题集锦及参考答案
  • uniapp中检测应用更新的两种方式-升级中心之uni-upgrade-center-app
  • Python爬虫通过 Cookie 和会话管理来维持其在网站上的会话状态
  • 使用STM32单片机实现无人机控制系统
  • 【包教包会】2D图片实现3D透视效果(支持3.x、支持原生、可合批)
  • 解决nginx+tomcat宕机完美解决方案
  • 第十一章 缓存之更新/穿透/雪崩/击穿
  • 一款完全开源并免费的监测与分析系统,支持监测,预警,分析,报告,支持本地化部署(附源码)
  • python中时间函数及其应用
  • MoveIt2-humble】入门教程----第一个 C++ MoveIt 程序
  • watch命令:周期执行指定命令
  • 【ADC】噪声(1)噪声分类
  • 网络安全概述:从认知到实践
  • Vue.js组件开发研究
  • OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
  • 【Llamaindex RAG实践】
  • [Linux]:线程(三)
  • 云原生(四十一) | 阿里云ECS服务器介绍
  • qemu-system-aarch64开启user用户模式网络连接
  • Android车载——VehicleHal初始化(Android 11)
  • CTFshow 命令执行 web37-web40
  • 数据结构与算法篇((原/反/补)码 进制)
  • Python画笔案例-077 绘制 颜色饱和度测试
  • 简历投递经验01