安装Anaconda如何兼容已经安装过的Python
概括:
1.在系统环境变量中找到对应之前安装Python的路径并删除;2.直接将你原来安装python的整个文件夹拷贝到envs的目录下,激活该版本python的名称就是文件夹名。
原理:
其实不管是Python还是Anaconda 都类似于包的管理,可以看到不管是安装Python还是Anaconda,都是在安装目录新建了一个文件下添加了很多文件,然后把安装目录路径添加到环境变量当中(windows下)。理解这个原理之后,其实要做的就是修改环境变量,和移动Python安装的文件夹而已。
具体的操作如下:
1.下载anaconda的安装包
可以到清华的镜像里去下载,速度比较快,而且能找到你想要的版本https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2. 安装注意事项
安装目录最好不要有空格;是否把Anaconda加入环境变量的选项上打勾,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,推荐打勾,如果不打勾可以再安装以后将对应的环境变量添加上去,例如:D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin
3. 安装好了以后
可以在cmd中输入 Python,发现显示的还是你之前安装的版本,像我的就是Python2.7,这是因为你之前安装Python2,7的时候,是将它的安装目录添加到了环境变量中的。在系统环境变量中找到对应之前安装Python的路径并删除,像我的就是D:\Program Files\python2.7 和D:\Program Files\python2.7\Scripts。将其删除。
4. 接着重启电脑
在cmd中输入python 就会显示是Anaconda自带的版本了。
5. 将原来python加入Anoconda中
在Anoconda中,用户以后安装的python隔离桶会存放在envs中。如果在cmd中输入conda info -e 或者 conda info --envs 就可以得到你安装的python隔离桶信息,在conda中安装其他包的命令:
创建一个名为Python36的环境,指定Python版本是3.6(不用管是3.6.x,conda会为我们自动寻找3.6.x中的最新版本)
conda create --name Python36 python=3.6
其实就是在envs中创建了一个Python36的文件夹,这个也就是安装Python36的一个安装目录。了解这个原理之后,就可以轻松将原来的环境转到Aconda进行管理。
6. 直接将你原来安装python的整个文件夹拷贝到envs的目录下。然后你再用conda info -e 命令,就会发现多了一个你添加的文件夹的名字的Python,我把自己之前安装的python2.7的包拷过去。还可以给文件下重命名一下,我命名的是Python27。
conda environments:
python27 * D:\Anaconda3\envs\python27
root D:\Anaconda3
7. 环境管理
#安装好后,使用activate激活某个环境
#for Windows
activate python36
#for Linux & Mac
source activate python36
#激活后,会发现terminal输入的地方多了python36的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.6对应的命令加入PATH
#此时,再次输入
python --version
#可以得到Python3.6.5::Anaconda 4.1.1(64-bit),即系统已经切换到了3.6的环境
#如果想返回默认的python2.7环境,运行
#for Windows
deactivate python36
#forLinux & Mac
source deactivate python36
#删除一个已有的环境
conda remove --name python36 --all
#可以使用上面的激活命令检验一下:在cmd中输入Python得到自带版本信息,然后再激活python27,显示(python27) C:\Users>也就是搞定了。
C:\Users>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\Users>activate python27
(python27) C:\Users>
8. 设置国内镜像命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
然后你的.condarc(该文件在C盘下面user/你的windows用户名/.condarc)文件应该是这样的内容,或者你可以直接修改该文件的内容设置镜像。
channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls:yes
注:
1.由于我们现在安装的是Anaconda3,之后又新添加了Python 2.7环境,但是Python 3.6环境中安装了Anaconda自带的科学计算环境,Python 2.7中却没有,那么如何为新添加的环境也装上Anaconda的科学计算包呢,没必要一个一个来,更没有必要再去安装naconda2了,只需:
conda install -n py27 anaconda
但是这会安装非常多,非常多,非常多的包
2.我们已经说完了Anaconda中的包管理,那么既然Anaconda中可以使Python 2.x和3.x共存,Jupyter Notebook是否可以呢?
多版本的Python或者R等语言,在Jupyter中被称作kernel,如果想要给Jupyter添加多个Python版本的kernel,有两种做法。
如果这个Python版本已经存在(比如我们刚才添加的py27环境),那么你可以直接为这个环境安装ipykernel包。即:
conda install -n py27 ipykernel
然后激活这个环境,输入
python -m ipykernel install --user
如果所需版本并不是已有的环境,可以直接在创建环境时便为其预装ipykernel。
conda create -n py27 python=2.7 ipykernel
PS:如果想要在创建新版本环境时直接装上其他库,像这里的ipykernel一样直接附在后面就可以了。之后同样是激活环境并添加kernel。这个命令生成的其实是一个JSON文件,可以直接查看并修改。