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

前言:

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

目录

前言:

conda的下载安装细节分析

1.环境说明:

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

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

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

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

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

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

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


conda的下载安装细节分析

1.环境说明:

ubuntu16.04

安装了anaconda3

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

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

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

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

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

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

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文件

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

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

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文件

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

对比发现

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

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

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

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

对比发现如下变化:

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文件

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

对比发现如下变化:

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里添加了一些文件

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

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

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

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

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

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

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来自/opt/anaconda3/bin

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

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

猜你喜欢

转载自blog.csdn.net/hsqyc/article/details/82893601