撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>>

本文永久地址:https://my.oschina.net/bysu/blog/1476276

说起Python入门第一步,很多人会说是Hello World。殊不知挡在众多小白同学面前的一座大山便是安装Python。安装Python有什么难的,可要真从2.x和3.x之争说起,夹杂着诸如Windows下如何安装lxml库,如何管理Python 2.x和Python 3.x之类的问题,工作量其实还是不小的。说起来我也是2、3混用了很久,初学时很长一段时间都停留在自带的idle编辑器,中间也因为编码问题专门转到过Ubuntu上去。现在的日常是本地Pycharm+远程服务器的Jupter Notebook。

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

今天的主角是Anaconda,之后会再写文章详细介绍Jupyter的配置(本地和服务器配置,包括Win Server和Linux Server,还有多用户版本的Jupyterhub配置,当然拖更遥遥无期,急用的同学就自行谷歌,有问题可以私信我…)。

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

Anaconda的官网在这里Download Anaconda Now!。与Python相对应,Anaconda的版本分为Anaconda2和Anaconda3,大家可以自行下载日常常用的版本,提供32位和64位下载。(2.x和3.x混用的同学也不要担心,后面我们会讲具体的版本管理)

当然了,如果你真的选择去官网下载Anaconda的话会发现,速度慢到令人发指;当你等待了30多分钟下载安装完以后想要安装或者更新其中的包时,又会发现其速度慢到会断开连接安装报错…

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

下载地址 Index of /anaconda/archive/

选择相应的版本进行下载就好(直接找2017年最新版的Anaconda2或Anaconda3)。

下载完成后安装。C盘不吃紧的同学可以一路next,C盘如果吃紧最好换个地方,日积月累Anaconda会占用不小的地方…

另由评论区@qwe14789cn指出:

建议作者在文章里加上 anaconda安装路径不要出现空格,否则后面坑的不知东南西北

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

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

简单来说就是在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

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

pip install lxml

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

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

conda install -n py27 lxml

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

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

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

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

彩蛋1

由于我们现在安装的是Anaconda3,之后又新添加了Python 2.7环境,但是Python 3.6环境中安装了Anaconda自带的科学计算环境,Python 2.7中却没有,那么如何为新添加的环境也装上Anaconda的科学计算包呢,没必要一个一个来,更没有必要再去安装Anaconda2了,只需:

conda install -n py27 anaconda

但是这会安装非常多,非常多,非常多的包,慎用。

彩蛋2

我们已经说完了Anaconda中的包管理,那么既然Anaconda中可以使Python 2.x和3.x共存,Jupyter Notebook是否可以呢?

当然可以。

在这里我们不展开来介绍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。

PPS 这个命令生成的其实是一个JSON文件,可以直接查看并修改。

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

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

祝进步,祝愉快!迟到的新年快乐!

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

  1. anaconda 安装在c盘_最省心的Python版本和第三方库管理——初探Anaconda

    打算把公众号和知乎专栏的文章搬运一点过来. 历史文章可以去关注我的公众号:不二小段,或者知乎:段小草. 也欢迎来看我的视频学Python↓↓↓ 跟不二学Python 这篇文章可以作为Python入门的 ...

  2. Anaconda——最省心的 Python 版本

    大二第一学期的时候,开始自学 Python,早就听说这门语言的强大.跟着教程,当时编译器是用的 Pycharm.在大二的寒假,意外知道了 anaconda 这个软件,然后试着安装了一下,虽然中间出过一 ...

  3. 如何将Anaconda更新到想要的python版本(其实使用的是Anaconda中的切换不同环境的方法,不过步骤挺好)

    最近用Anaconda比较多,因为它里面的包很全啊.如果下个原生的python,要用的时候得自己一个个装. 但是有些包又互相依赖,一个个装的时候实在很抓狂.懒人就想到了anaconda这种套装集合了. ...

  4. 如何确定python对应电脑版本_查看Anaconda版本、Anaconda和python版本对应关系和快速下载...

    官网 查看Anaconda版本 (C:\ProgramData\Anaconda3) C:\Users\Administrator>conda -V conda 4.3.30 Anaconda和 ...

  5. anaconda对应python版本_Python基础——如何查看python版本、如何查看多个python版本

    前言 初学者来说,安装python过程是存在一定难度的. 在安装过程中,可能安装了多个python版本,可能安装了anaconda导致有自带的python,同时本身电脑也安装了官方下载的python也 ...

  6. anaconda 包区别 版本_我是如何用Anaconda来管理Python的

    点击上方关注订阅黑码教主获取更多精彩内容 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Pytho ...

  7. pytho基础——如何查看python版本及多个python版本

    前言 初学者来说,安装python过程是存在一定难度的. 在安装过程中,可能安装了多个python版本,可能安装了anaconda导致有自带的python,同时本身电脑也安装了官方下载的python也 ...

  8. 【详解Anaconda 、多环境安装多个不同python版本以及根据需要切换python版本】

    前言 本文旨在详细介绍Anaconda 以及 如何在Anaconda上更换python版本. 备注: 根据读者建议,这里明确如下: 标题中的"在Anaconda上更换python版本&quo ...

  9. python人工智能方向第三方库_Python进阶-第三方库管理和虚拟环境

    本文为<爬着学Python>系列第十三篇文章. Python能在这几年火起来,靠的不是网上一大片的爬虫和服务器后端知识的应用(本专题就是这样的,这么说真的好吗?不过我们总得认清事实是吧.) ...

最新文章

  1. 美研究揭示大脑如何学习语言
  2. NYOJ 36 最长公共子序列 dp
  3. opencv 和 parfor
  4. OpenJudge NOI 1.7 28:单词倒排
  5. 机构研究显示iPhone 12 Pro Max是美国最受欢迎5G手机
  6. 成功将本地文件添加到github仓库
  7. 前端基础8:HTML5新增标签及CSS3新属性 viewport 动画
  8. 注意地方hadoop中的pi值计算
  9. 信息安全政策(隔离与监控)
  10. c语言除法的ns流程图,ns流程图(c语言ns流程图怎么画)
  11. 火焰之纹章java武器代码_《火焰纹章回声:另一个英雄王》金手指全代码一览 代码大全...
  12. 宅男福利——在控制台上跳极乐净土(音频版)
  13. 闪寸 U盘 检测工具 量产工具
  14. GP数据库获取指定时段的所有天数
  15. 计算力矩——计算关节力矩以平衡端点力和力矩
  16. 幽灵蛛(pholcus)规则(二)
  17. 【Unity】项目源码——2D横版过关类游戏《A_Standard_Runner》
  18. 【英语学习】关于音标的汇总图分享
  19. 新发布!易聊 SCRM 正式上线
  20. 概率论与数理统计 | (3) 随机变量

热门文章

  1. 计算机网络又称为分时多用户,计算机网络与通讯题库一(教学资料)
  2. 工信部:发挥、坚持、强化,做数字化转型主力军
  3. 圆的周长,面积,球的体积和表面积
  4. 对产品经理来说,在求职的时候,PMP和NPDP两个证书,哪一个权威性比较高,含金量比较大?
  5. 怎么把照片精确压缩到固定KB体积大小
  6. 自动驾驶决策——决策基本概念
  7. redis客户端通过哨兵获取主机、从机信息
  8. DPU芯片企业中科驭数加入龙蜥社区,构建异构算力生态
  9. java is setter_为什么java需要getter/setter来获取私有属性?
  10. 0x80070002(0x80070002错误代码怎么解决)