apt-get、conda、pip安装东西的细节

前言:

apt-get、conda、pip安装东西确实很方便,可是你有想过他们工作到底是个什么流程么?我的东西被下载到哪里了?又被安装在哪里了?

目录

前言:

一:conda的下载安装细节分析

1.环境说明:

2.我们先假装要升级一下conda,但是在问你是否升级的时候选择no

3.然后我们这次真的升级一下conda

4.我们再下载一个新的没有依赖的包_r-mutex

5.我们试着删除这个包看看

6.我们再下载一个没有依赖的包giflib

7.最后我们来把大的,安装一个mxnet,可以看到需要下载好几个包,更新好几个包,删除一个包,这次操作其实就是之前几次操作的一个整合版

8.总结,懒人直接看结论

二:pip安装

三:apt-get安装

1.相关目录

2.安装位置


 

一:conda的下载安装细节分析

1.环境说明:

ubuntu16.04

安装了anaconda3

首先我的anaconda3安装在/opt/目录下,然后我cp了一份对比,虽然有点奇怪,两个大小不一样。。。我估计是cp的问题,但是不影响我们的对比实验

apt-get、conda、pip安装东西的细节_第1张图片

apt-get、conda、pip安装东西的细节_第2张图片

先对比一下,虽然显示文件不存在,但是其实都有的。。。没关系,不影响我们的对比实验

apt-get、conda、pip安装东西的细节_第3张图片

2.我们先假装要升级一下conda,但是在问你是否升级的时候选择no

 

然后我们再对比一下,可以看到是/opt/anaconda3/pkgs/cache/里的.q和.json文件发生了变化

apt-get、conda、pip安装东西的细节_第4张图片

 

3.然后我们这次真的升级一下conda

apt-get、conda、pip安装东西的细节_第5张图片

然后再对比一下,有点长我分段截图了,其实可以看出发生变化的是

1.在anaconda3/conda-meta里添加了json文件

2.修改了anaconda3/conda-meta里的history文件

3.修改了anaconda3/lib/python3.6/site-packages/conda这个文件夹里的很多文件

4.顺带一提的是anaconda3/lib/python3.6/site-packages/conda里的.egg-info文件

5.修改了anaconda3/lib/python3.6/site-packages/conda_env这个文件夹里的很多文件

6.在anaconda3/pkgs里添加了2个文件。其中.tar.gz2解压出来就是另外一个文件

7.修改了anaconda3/pkgs里的urls.txt文件

apt-get、conda、pip安装东西的细节_第6张图片

4.我们再下载一个新的没有依赖的包_r-mutex

apt-get、conda、pip安装东西的细节_第7张图片

对比一下,可以看出发生变化如下:

1.在anaconda3/conda-meta里添加了json文件

2.修改了anaconda3/conda-meta里的history文件

3.修改了anaconda3/lib/python3.6/site-packages/conda这个文件夹里的很多文件

4.顺带一提的是anaconda3/lib/python3.6/site-packages/conda里的.egg-info文件

5.修改了anaconda3/lib/python3.6/site-packages/conda_env这个文件夹里的很多文件

6.在anaconda3/pkgs里添加了2个文件。其中.tar.gz2解压出来就是另外一个文件

7.修改了anaconda3/pkgs里的urls.txt文件

apt-get、conda、pip安装东西的细节_第8张图片

5.我们试着删除这个包看看

apt-get、conda、pip安装东西的细节_第9张图片

对比发现

1.conda-meta文件夹里的json信息被删除了

2.conda-meta里的history被修改了

3.但是pkgs里下载的文件没有被删除,还在

apt-get、conda、pip安装东西的细节_第10张图片

6.我们再下载一个没有依赖的包giflib

apt-get、conda、pip安装东西的细节_第11张图片

对比发现如下变化:

1.在anaconda3/conda-meta里添加了json文件

2.修改了anaconda3/conda-meta里的history文件

3.修改了anaconda3/lib/python3.6/site-packages/conda这个文件夹里的很多文件

4.顺带一提的是anaconda3/lib/python3.6/site-packages/conda里的.egg-info文件

5.修改了anaconda3/lib/python3.6/site-packages/conda_env这个文件夹里的很多文件

6.在anaconda3/pkgs里添加了2个文件。其中.tar.gz2解压出来就是另外一个文件

7.修改了anaconda3/pkgs里的urls.txt文件

8.在anaconda3/bin里添加了一些可执行文件

9.在anaconda3/lib里添加了一些.so文件

apt-get、conda、pip安装东西的细节_第12张图片

7.最后我们来把大的,安装一个mxnet,可以看到需要下载好几个包,更新好几个包,删除一个包,这次操作其实就是之前几次操作的一个整合版

apt-get、conda、pip安装东西的细节_第13张图片

对比发现如下变化:

1.在anaconda3/conda-meta里添加了json文件

2.修改了anaconda3/conda-meta里的history文件

3.在anaconda3/lib/python3.6/site-packages/这个文件夹里添加了mxnet等文件夹

4.顺带一提的是anaconda3/lib/python3.6/site-packages/conda里的.egg-info文件

5.修改了anaconda3/lib/python3.6/site-packages/conda_env这个文件夹里的很多文件

6.在anaconda3/pkgs里添加了2个文件。其中.tar.gz2解压出来就是另外一个文件

7.修改了anaconda3/pkgs里的urls.txt文件

8.在anaconda3/bin里添加了一些可执行文件

9.在anaconda3/lib里添加了一些.so文件

10.在anaconda3/include里添加了一些文件

11.在anaconda3/man里添加了一些文件

12.在anaconda3/share里添加了一些文件

apt-get、conda、pip安装东西的细节_第14张图片

apt-get、conda、pip安装东西的细节_第15张图片

apt-get、conda、pip安装东西的细节_第16张图片

apt-get、conda、pip安装东西的细节_第17张图片

 

8.总结,懒人直接看结论

到这为止,我想你应该差不多明白。我最后总结一下:

1.anacoda3/conda-meta/history里会记录你的使用conda命令安装、卸载、升级包的操作

apt-get、conda、pip安装东西的细节_第18张图片

2.anaconda3/pkgs/urls.txt里会记录你用conda命令下载包的地址,你直接复制到浏览器中也可以下载

apt-get、conda、pip安装东西的细节_第19张图片

3.anaconda3/conda-meta/这个文件夹里会对每个包有一个对应名字的.json文件(有些包会有多个.json文件),这个文件会记录这个包的一些版本、存放位置、md5值等信息

apt-get、conda、pip安装东西的细节_第20张图片

4.anaconda3/pkgs/这个文件夹里存放了每个包刚下载来的文件,格式是.tar.gz2,另外也会自动解压到这个文件夹里。比如你下载了six这个包,anaconda3/pkgs/这个文件夹里会多出如下2个文件。另外,当你卸载包的时候,这里的2个文件是不会被删除的

apt-get、conda、pip安装东西的细节_第21张图片

5.anaconda3/lib/python3.6/site-packages/这个文件夹存放的就是每个包的文件夹,我们常用的tensorflow就是从这里导入的

6.anaconda3/bin,安装一些包的时候会往里添加一些可执行文件

7.在anaconda3/lib,安装一些包的时候会往里添加了一些.so文件

8.在anaconda3/include,安装一些包的时候会往里添加了一些文件

9.在anaconda3/man,安装一些包的时候会往里里添加了一些文件

10.在anaconda3/share,安装一些包的时候会往里里添加了一些文件

 

二:pip安装

首先,因为有时候系统自带python2和python3,另外你自己又安装了anaconda,导致你的系统里有好几个地方都有Python,所以你先要确定你运行的pip来自谁。输入pip -V查看。我的pip来自/opt/anaconda3/bin。

我有个包是pip安装的,然后我搜索一下关于这个包的一些文件的位置

显而易见,pip安装的包位于/opt/anaconda3/lib/python3.6/site-packages/这个文件夹里 

 

三:apt-get安装

参考自https://www.jianshu.com/p/b2eed75b9855

1.相关目录

/etc/apt/sources.list         存放的是软件源站点

/var/lib/apt/lists        使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录

/var/cache/apt/archives       目录是在用 apt-get install 安装软件时,软件包的临时存放路径​​​​​​​。但是我发现好像不是所有包的安装都会在这产生临时文件

/var/lib/dpkg/available        文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 ubunt 安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.​​​​​​​

/var/lib/dpkg/status         这是我自己补充的,我发现我自己安装的包的信息在这里是有的,但是在available中却没有

2.安装位置

位置 信息
/usr/bin 二进制文件
/usr/lib 动态函数库文件
/usr/share/doc 使用手册
/usr/share/man man page

 

 

你可能感兴趣的:(ubuntu)