最省心的Python版本和第三方库管理——初探Anaconda

说起Python入门第一步,很多人会说是Hello World。殊不知挡在众多小白同学面前的一座大山便是安装Python。

今天写这篇文章,面向的是电脑里连Python都还没装的同学,推荐一种目前就我个人体验来看,最简单舒服省心的Python环境配置。当然了,如果电脑里混装了多版本很头疼,或者还在用idle+cmd进入Python命令行这样反人类的入门方式,不妨跟着试一试。

今天的主角是Anaconda。Anaconda是Python的一个开源发行版本,主要面向科学计算。我们可以简单理解为,Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。而且相比于大家熟悉的pip install命令,Anaconda中增加了conda install命令。当你熟悉了Anaconda以后会发现,conda install会比pip install更方便一些。比如大家经常烦恼的lxml包的问题,在Windows下pip是无法顺利安装的,而conda命令则可以。

Anaconda的版本分为Anaconda2和Anaconda3,大家可以自行下载日常常用的版本,提供32位和64位下载。

(划重点)正确的姿势是从国内清华大学开源软件镜像站进行下载并配置镜像。

下载地址 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择相应的版本进行下载就好

下载过程中除了安装位置外,还有两个需要确认的地方。

conda 降低某个环境的 python版本 anaconda降python版本_pycharm

conda 降低某个环境的 python版本 anaconda降python版本_Python_02

第一个勾是是否把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)

conda 降低某个环境的 python版本 anaconda降python版本_python_03

需要注意的是jupyter notebook命令会在电脑本地以默认配置启动jupyter服务,之后会再谈到这个。

conda 降低某个环境的 python版本 anaconda降python版本_python_04

Anaconda安装成功之后,我们需要修改其包管理镜像为国内源。

参考ref:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

简单来说就是在cmd中分别运行这两个命令就好了。


conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes


因为我现在安装的是最新版Anaconda3,其自带的Python版本为3.6,如果我们需要添加2.7版本的Python,可以进行如下操作。(同理,如果有人安装的是Anaconda2需要添加Python 3.x,之后操作里的2.7改为3.6或3.5即可)


conda create -n py27 python=2.7


其中py27是新添加环境的名字,可以自定义修改。

之后通过activate py27和deactivate py27命令激活、退出该环境。(Linux和OS系统的命令似乎是source activate和source deactivate)


activate py27


conda 降低某个环境的 python版本 anaconda降python版本_Python_05

在激活新环境后,我们所做的操作便都是在新环境下的,包括pip命令来安装第三方库。我们来试一下pip安装lxml。


pip install lxml


conda 降低某个环境的 python版本 anaconda降python版本_Python_06

conda 降低某个环境的 python版本 anaconda降python版本_python_07

不出所料…失败了…如果你执意要自己解决这个问题,会很复杂,至少我在小白阶段直接放弃了解决这个问题…

那么正确的做法是什么呢?一条命令就够了。


conda install -n py27 lxml


conda 降低某个环境的 python版本 anaconda降python版本_pycharm_08

conda 降低某个环境的 python版本 anaconda降python版本_python_09

当然了,对于可以正常安装的库,自然可以使用pip命令。

conda 降低某个环境的 python版本 anaconda降python版本_python_10

最后,我们可以通过conda info -e命令查看已有的环境。

通过conda remove -n env_name --all来删除指定的环境(如果不添–all参数,而是指明某个库名,则是删除该库)。

比如我现在要删除py35这个环境。

conda 降低某个环境的 python版本 anaconda降python版本_python_11

先说到这里!

希望大家从此不再因为选择版本、安装Python、管理环境、添加第三方库(能用conda用conda,不能用conda用pip)、选择IDE(单文件Jupyter,项目组织开Pycharm)等等杂事所困扰,专心于代码。

(当然了,有一些库不论conda和pip都无法直接安装,只能下载.whl,这里不再赘述了,小白同学遇到这种问题的时候,应该也有能力自己解决这种问题了)