Python第三方库管理Anaconda
一、Anaconda简介:
Anaconda是Python的一个开源发行版本,主要面向科学计算。我们可以简单理解为,Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。而且相比于大家熟悉的pip install命令,Anaconda中增加了conda install命令。当你熟悉了Anaconda以后会发现,conda install会比pip install更方便一些。比如大家经常烦恼的lxml包的问题,在Windows下pip是无法顺利安装的,而conda命令则可以,后面会详细展示。
二、Anaconda下载安装:
(一)下载
Anaconda的官网Download Anaconda Now!。与Python相对应,Anaconda的版本分为Anaconda2和Anaconda3,大家可以自行下载日常常用的版本,提供32位和64位下载。(2.x和3.x混用的同学也不要担心,后面我们会讲具体的版本管理)。考虑到Anaconda官网下载的速度很慢,建议从国内清华大学开源软件镜像站进行下载并配置镜像(下载地址 Index of /anaconda/archive/)。
选择相应的版本进行下载就好(直接找2017年最新版的Anaconda2或Anaconda3)。
(二)安装
1、anaconda安装路径不要出现空格;
2、两个需要确认的地方,第一个勾是是否把Anaconda加入环境变量,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,推荐打勾,如果不打勾话问题也不大,可以在之后使用Anaconda提供的命令行工具进行操作;第二个是是否设置Anaconda所带的Python 3.6为系统默认的Python版本,这个自己看着办,问题不大。
(三)测试安装
安装完成,需要打开cmd测试一下安装结果,分别输入python、ipython、conda、jupyter notebook等命令,会看到相应的结果,说明安装成功。
- python是进入python交互命令行
- ipython是进入ipython交互命令行
- conda是Anaconda的配置命令
- jupyter notebook则会启动Web端的ipython notebook(注意:jupyter notebook命令会在电脑本地以默认配置启动jupyter服务)
(四)修改包管理镜像
Anaconda安装成功之后,我们需要修改其包管理镜像为国内源。(Tsinghua Open Source Mirror)
开始菜单中找到Anaconda3-Anaconda Prompt,打开Anaconda Prompt,在cmd中分别运行这命令就好了。设置好镜像以后,我们继续进行环境管理。
命令行——
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda config --remove channels defaults #不一定需要
【注意】从清华镜像加载,不然总是从官网下载超时。
四、Anaconda下不同版本环境的管理:
已经安装了最新版Anaconda3,其自带的Python版本为3.6,需要添加2.7版本的Python,可以进行如下操作。(同理,如果有人安装的是Anaconda2需要添加Python 3.x,之后操作里的2.7改为3.6或3.5即可)
1、添加新环境
命令行——
conda create -n py27 python=2.7
其中py27是新添加环境的名字,可以自定义修改。
conda config --show #可以看到channels等信息
等加载完成后,在命令行中输入:activate py27,会在命令行路径前出现py27,进入了py27环境
2、激活/退出新环境
通过activate py27和deactivate py27命令激活、退出该环境。(Linux和OS系统的命令似乎是source activate和source deactivate)
命令行——
activate py27
3、新环境下安装第三方库
激活新环境后,我们所做的操作便都是在新环境下的,包括pip命令来安装第三方库。我们来试一下pip安装lxml。
命令行——
conda install -n py27 lxml
【注意】lxml库在python下直接安装可能会报错。
命令行——
pip install lxml
【补充1】:
Microsoft Visual C++ Compiler for Python 2.7
当然,可以正常安装的库,自然可以使用pip命令。
4、查看已有的环境
通过conda info -e命令查看已有的环境。
conda info -e
5、为新环境安装科学计算包
由于我们现在安装的是Anaconda3,之后又新添加了Python 2.7环境,但是Python 3.6环境中安装了Anaconda自带的科学计算环境,Python 2.7中却没有,那么如何为新添加的环境也装上Anaconda的科学计算包:
命令行—
conda install -n py27 anaconda
6、Jupyter下不同环境并存
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。
PS. 该命令生成的其实是一个JSON文件,可以直接查看并修改。
【注意】有一些库不论conda和pip都无法直接安装,只能下载.whl,这里不再赘述了,小白同学遇到这种问题的时候,应该也有能力自己解决这种问题了。
8、删除新环境
通过conda remove -n env_name --all来删除指定的环境(如果不添--all参数,而是指明某个库名,则是删除该库)。
比如我现在要删除py35这个环境。
希望大家从此不再因为选择版本、安装Python、管理环境、添加第三方库(能用conda用conda,不能用conda用pip)、选择IDE(单文件Jupyter,项目组织开Pycharm)等等杂事所困扰,专心于代码。