包管理器作用及特点:conda pip dnf vcpkg
目录
包管理器功能
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相关推荐
- ubuntu安装pip包管理器
#python3sudo apt-get install python3sudo apt-get install python3-pip#python2sudo apt-get install pyt ...
- anaconda下载的python在哪_python包管理器anaconda介绍安装和使用
在Python中,安装第三方模块,是通过包管理工具pip完成的.用pip一个一个安装费时费力,还需要考虑兼容性.我们推荐直接使用anaconda,这是一个基于Python的数据处理和科学计算平台,它已 ...
- NPM js 包管理器介绍
NPM的定义 npm 全称 Node Package Manager , 是Node.js 默认的, 以javascript 编写的软件包管理系统 用于分享和使用代码,早已成为前端的标配. 作用类似与 ...
- javascript原理_JavaScript程序包管理器工作原理简介
javascript原理 by Shubheksha 通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript pa ...
- node.js 腾讯镜像站_使用腾讯云提供的针对Nuget包管理器的缓存加速服务
继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...
- 你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
. 参与:思,Jamin 用文言文写的官方编程教程<文言陰符>,类似 pip 那样的包管理工具「文淵閣」,还有文言编程开源 IDE「文言齋」,文言编程语言已经这么成熟了? 机器之心曾介绍过 ...
- nodejs,python,sublime和Eclipse的包管理器
Python的包管理器叫pip. 首先安装Python运行环境Python 3.7.0:https://www.python.org/downloads/release/python-370/ Pyt ...
- 使用腾讯云提供的针对Nuget包管理器的缓存加速服务
继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...
- npm 包管理器_导演电影解释了节点软件包管理器(NPM)
npm 包管理器 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) If you understand the general way that Hollywoo ...
最新文章
- 好东西+php,推荐个好东西swoole,php如虎添翼
- 数据结构与算法——树与二叉树详细分享
- python锁有哪几种_python 可重入锁有什么用?
- C++类型转换基本语法
- Vaadin附加组件和Maven
- 织梦内核风吟导航QQ导航天下网址管理源码
- 你一定要了解的Kubernetes
- 2.4 在不同的划分上进行训练并测试
- 数据结构:邻接表法存储有向图
- elasticsearch 文档增删改
- js月份的计算公式_js判断某年某月有多少天(闰年计算方法)
- 研发流程——变更流程管控
- 病毒HEUR:Trojan-Downloader.Win32.Generic
- 12:Linux日常运维技巧-1
- 开发一个商城小程序要多少钱
- 二维C语言,二维FFT,IFFT,c语言实现
- 《TextScanner: Reading Characters in Order for Robust Scene Text Recognition》阅读笔记
- 操作系统系列笔记(四) - 进程,线程及CPU调度
- 锂电池办理IEC62133认证、CB认证、EN62133认证、UN38.3检测报告
- 1 行 == 12 磅