断网情况下安装及配置|断网情况下安装及配置 Anaconda

有时候,由于某些非常难受的原因,需要不联网使用 Anaconda。
我们假设一种情况,已经安装了最新版的 Anaconda(Python 3.7),位置在 /home/anaconda3/,并且已经配置好了 .bashrc。这时候我们需要安装 Python 3.6,而且我们依旧需要选择借助 Anaconda 来安装 Python,因为需要额外安装的包实在是太多。
【断网情况下安装及配置|断网情况下安装及配置 Anaconda】传统情况下,如果有网,那真是太简单了,直接 create 一个新的 conda 环境即可,例如:

conda create -n py36 python=3.6

但现在的问题是没有网,所以这个方法完全行不通。那么我们要做的,就是再离线安装一次 Anaconda,并且让它和已有的共存。具体该怎么做呢?
1、选择并下载指定版本的安装包
这里就不能安装官网首页提供的最新版了,我们需要找到 Anaconda 版本号与搭配的 Python 版本的对应关系。具体可以在这个网站中找到。实际可以看到这个列表很复杂,不同的版本可能会对应多个 Python 版本号。这里基本上对应最高的版本号就是这个版本搭配的 Python 版本。比如 Anaconda 5.x.0,对应多个标题(仅关注 64-bit Linux with Python 3.x)。
其中,Anaconda 5.0.0 对应 Python 3.5 和 3.6,可以理解为这个版本自带的 Python 就是 3.6(按最高的版本号算)。
然后,Anaconda 5.3.0 就变成了 3.6 和 3.7,可以理解为从这一版本开始,Anaconda 自带的 Python 已经更新到了 3.7。
指定版本的下载链接可以在这里找到。
2、安装第二个 Anaconda
开始安装,但是要注意修改安装位置(也就是看完前面的大段文字,并输入 yes 之后那里,要输入新的地址),不要覆盖了第一个(因为默认路径可能都是 anaconda3),比如可以写成 anaconda36,表示对应 Python 3.6。然后开始安装,并且在最后允许其修改 .bashrc
这里要说的一点是,如果 .bashrc 中的 PATH 在很多地方都能找到 python,那么靠下的会覆盖靠上的,及此时在终端输入 python 将对应新安装的 Python 3.6 版本(包括 pip)。
3、配置软链接
进入安装路径的 bin 文件夹(比如 /home/anaconda36/bin/),然后会看到很多软链接。不难看出,除了pythonpython3.7 也是可以正确调用的。
所以,虽然 pythonpython3 被新安装的覆盖掉了,但是 python3.7 是可以正确找到对应的版本的。同理,pip 也有很多默认的软链接,比如 pip3pip3.7
多说一句,如果需要配置两个 python 3.7,那么这里就需要再做进一步的重命名了,比如 python3.7.3 之类。
所以,如果安装的两个 Python 的小版本号不一样,那么其实并不需要多做配置。否则的话,需要手动在这个目录下配置软连接,例如:
ln -s python

site-packages
这个文件夹的位置在 /home/anaconda3/lib/python3.7/site-packages/
所有借助类似 pip install 或者 python setup.py install 安装的包,都会出现在这里。
所以,如果有些包不包含这样的安装功能,那么其实可以通过在这里面添加软链接的方式变相地“安装”这些包。
卸载
直接 rm -r /home/anaconda3/,然后把 .bashrc 的相关内容删掉即可。
之后可以运行一下 source ~/.bashrc

    推荐阅读