有时候,由于某些非常难受的原因,需要不联网使用 Anaconda。
我们假设一种情况,已经安装了最新版的 Anaconda(Python 3.7
),位置在 /home/anaconda3/
,并且已经配置好了 .bashrc
。这时候我们需要安装 Python 3.6
,而且我们依旧需要选择借助 Anaconda 来安装 Python,因为需要额外安装的包实在是太多。
传统情况下,如果有网,那真是太简单了,直接 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/
),然后会看到很多软链接。不难看出,除了python
,python3.7
也是可以正确调用的。
所以,虽然 python
和 python3
被新安装的覆盖掉了,但是 python3.7
是可以正确找到对应的版本的。同理,pip
也有很多默认的软链接,比如 pip3
和 pip3.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
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。