目录

包管理器功能

conda

pip

rpm dnf yum

vcpkg

总结

包管理器功能

包相当于软件,可实现某项专门的功能。包管理工具相当于软件管家,帮你实现“从哪里下载(源)”和“下载到哪里(环境)”的管理。Linux系统没有图形化界面,软件的下载普遍使用包管理工具实现。现在有很多流行的包管理工具,适用于不同的场景,如不同平台(win Linux)和语言(python javascript)

:包仓库,包管理工具从源获取包。如conda的默认源是国外的anaconda官网的服务器,可换为清华源、阿里源等镜像源。

环境:指运行程序需要的软硬件的集合。如某python程序的环境包括[电脑、python3.8、import的包]。为使用不同的环境,形成了虚拟环境的概念,比如相互隔离的python3.7和3.8虚拟环境。

虚拟环境实现隔离的具体方法:可打开由conda创建的虚拟环境文件夹,里面包含不同版本的动态链接库dll文件,它们为虚拟环境提供了不同的服务。

常用的包管理器有:conda、pip;dnf、rpm;vcpkg

conda

特点:是一个跨平台、跨语言的包管理工具

能在conda环境中安装包(但不能在其他环境如已有的python环境环境安装)

操作:创建虚拟环境create、激活虚拟环境active、下载包install、换源config --add

Anaconda

集成了conda工具和一些常用包的软件,相似的还有更轻量级的miniconda。它们可以实现的功能相同,anaconda更大,miniconda需要手动配置。

pip

是一个python专用包管理器,只能安装python包。

rpm dnf yum apt apt-get

都是Linux系统的包管理器,主要用于安装Linux软件。其中:

  • dnf是yum的升级版(相当于新版本),它们是Rocky Linux(近似于CentOS新版),RedHat  Federal 系统的包管理工具
  • dnf和yum能够处理rpm的包依赖关系
  • apt 和 apt-get 是Ubuntu系统的包管理工具,apt-get先出现,apt是apt-get 、apt-cache 和 apt-config 中最常用命令选项的集合。

vcpkg

是一个跨平台的C++包管理工具,能够在各个位置使用标准编译器不包含的头文件,如同使用普通头文件一样。

特点:限语言C++;跨平台;但和vs studio结合紧密

使用场景:计算机图形学使用的openGL API需要单独下载,并在每个vs studio工程中,通过右键属性添加配置,比较麻烦。用vcpkg管理则只需下载,ctrl+F5一键运行。

如何在Linux(CentOS7)中使用vcpkg管理C包_在键盘上弹钢琴的菜菜的博客-CSDN博客_vcpkg

Wget

wget 是一个从网络上自动下载文件的自由工具,也可用来下载包

总结

总之,包管理工具并没有多么复杂,它们完成的工作主要是从源获取信息,并根据相关配置安装到指定位置。在程序运行时,也会按照相关配置查找到包并使用。

不同的包管理器负责管理不同的包,将不同的环境隔离开来,避免相互干扰。

故在使用包管理器安装包出问题时,可以考虑一下几个方面:

  • 源仓库不含要下载的包,可通过换源等方法修正
  • 使用的包管理工具不合适,比如pip无法下载包含外部依赖的python包
  • 包管理工具未将包下载到使用者预期位置,导致无法顺利使用,如conda环境和pip的python环境

包管理器作用及特点:conda pip dnf vcpkg相关推荐

  1. ubuntu安装pip包管理器

    #python3sudo apt-get install python3sudo apt-get install python3-pip#python2sudo apt-get install pyt ...

  2. anaconda下载的python在哪_python包管理器anaconda介绍安装和使用

    在Python中,安装第三方模块,是通过包管理工具pip完成的.用pip一个一个安装费时费力,还需要考虑兼容性.我们推荐直接使用anaconda,这是一个基于Python的数据处理和科学计算平台,它已 ...

  3. NPM js 包管理器介绍

    NPM的定义 npm 全称 Node Package Manager , 是Node.js 默认的, 以javascript 编写的软件包管理系统 用于分享和使用代码,早已成为前端的标配. 作用类似与 ...

  4. javascript原理_JavaScript程序包管理器工作原理简介

    javascript原理 by Shubheksha 通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript pa ...

  5. node.js 腾讯镜像站_使用腾讯云提供的针对Nuget包管理器的缓存加速服务

    继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...

  6. 你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了

    . 参与:思,Jamin 用文言文写的官方编程教程<文言陰符>,类似 pip 那样的包管理工具「文淵閣」,还有文言编程开源 IDE「文言齋」,文言编程语言已经这么成熟了? 机器之心曾介绍过 ...

  7. nodejs,python,sublime和Eclipse的包管理器

    Python的包管理器叫pip. 首先安装Python运行环境Python 3.7.0:https://www.python.org/downloads/release/python-370/ Pyt ...

  8. 使用腾讯云提供的针对Nuget包管理器的缓存加速服务

    继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...

  9. npm 包管理器_导演电影解释了节点软件包管理器(NPM)

    npm 包管理器 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) If you understand the general way that Hollywoo ...

最新文章

  1. 好东西+php,推荐个好东西swoole,php如虎添翼
  2. 数据结构与算法——树与二叉树详细分享
  3. python锁有哪几种_python 可重入锁有什么用?
  4. C++类型转换基本语法
  5. Vaadin附加组件和Maven
  6. 织梦内核风吟导航QQ导航天下网址管理源码
  7. 你一定要了解的Kubernetes
  8. 2.4 在不同的划分上进行训练并测试
  9. 数据结构:邻接表法存储有向图
  10. elasticsearch 文档增删改
  11. js月份的计算公式_js判断某年某月有多少天(闰年计算方法)
  12. 研发流程——变更流程管控
  13. 病毒HEUR:Trojan-Downloader.Win32.Generic
  14. 12:Linux日常运维技巧-1
  15. 开发一个商城小程序要多少钱
  16. 二维C语言,二维FFT,IFFT,c语言实现
  17. 《TextScanner: Reading Characters in Order for Robust Scene Text Recognition》阅读笔记
  18. 操作系统系列笔记(四) - 进程,线程及CPU调度
  19. 锂电池办理IEC62133认证、CB认证、EN62133认证、UN38.3检测报告
  20. 1 行 == 12 磅

热门文章

  1. C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc
  2. 装好的主机成功点亮显示器却显示超频的坑
  3. 量化分析-常用数据的获取与整理
  4. jPlayer使用指南
  5. 解读用车三大误区 拉高速/添加剂/自动挡使用
  6. Linux系统下锐捷客户端连接方法
  7. 计算机常用控温算法,常用温度控制方法原理
  8. 1-线性回归之单变量线性回归基本原理的python实现
  9. C8:Unity3D制作智能家居设计软件——智能装修(三)
  10. 心理学家的1000个案例:什么决定了孩子的学习成绩?