前言:近期尝试学习数据分析车成要用到课程要用到python,所以开始使用python环境开发
Python概述
python分为python2和python3,基本语法和基本函数有些差别,可以参考http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html这边文章里罗列出来的。
Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候。为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便pythoners直接使用,此外,还有virtualenv、pyenv等工具管理虚拟环境。
个人尝试了很多类似的发行版,最终选择了Anaconda,因为其强大而方便的包管理与环境管理的功能。该文主要介绍下Anaconda,对Anaconda的理解,并简要总结下相关的操作。
最终选用python2.7.13版,官方文档上写里面已经包含setuptools和pip包,可以方便的直接用命令行脚本获取需要的包和资源。
Anaconda概述
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
这里先解释下conda、anaconda这些概念的差别。conda
可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
进入下文之前,说明一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
Conda的环境管理
Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root
,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
conda
create
--
name
python34
python
=
3.4
# 安装好后,使用activate激活某个环境
activate
python34
# for Windows
source
activate
python34
# for Linux & Mac
# 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH
# 此时,再次输入
python
--
version
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境
# 如果想返回默认的python 2.7环境,运行
deactivate
python34
# for Windows
source
deactivate
python34
# for Linux & Mac
# 删除一个已有的环境
conda
remove
--
name
python34
--
all
|
用户安装的不同python环境都会被放在目录~/anaconda/envs
下,可以在命令中运行conda info -e
查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。
说明:有些用户可能经常使用python 3.4环境,因此直接把~/anaconda/envs/python34
下面的bin或者Scripts加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……
如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin
里呢),这时候怎么办呢?方法有二:1. 显式地给出conda的绝对地址 2. 在python34环境中也安装conda工具(推荐)。
补充:如果创建新的python环境,比如3.4,运行conda create -n python34 python=3.4
之后,conda仅安装python 3.4相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:
1
2
3
4
5
6
|
# 在当前环境下安装anaconda包集合
conda
install
anaconda
# 结合创建环境的命令,以上操作可以合并为
conda
create
-
n
python34
python
=
3.4
anaconda
# 也可以不用全部安装,根据需求安装自己需要的package即可
|