anaconda环境搭建

anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,比如ipython、ipython notebook、numpy等一些数据分析包,这样我们不必单独的安装各种工具包,简单有效!

官网下载地址为:https://www.anaconda.com/download/

安装anaconda

对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是

1
2
3
4
# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

配置好PATH后,可以通过which conda或conda –version命令检查是否正确。假如安装的是Python 2.7对应的版本,运行python –version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发行版默认的环境是Python 2.7。

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工具(推荐)。

Conda的包管理

Conda的包管理就比较好理解了,这部分功能与pip类似。

例如,如果需要安装scipy:

1
2
3
4
5
6
7
# 安装scipy
conda install scipy
# conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)

# 查看已经安装的packages
conda list
# 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包

conda的一些常用操作如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
conda的一些常用操作如下:

# 查看当前环境下已安装的包
conda list

# 查看某个指定环境的已安装包
conda list -n python34

# 查找package信息
conda search numpy

# 安装package
conda install -n python34 numpy
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 也可以通过-c指定通过某个channel安装

# 更新package
conda update -n python34 numpy

# 删除package
conda remove -n python34 numpy

前面已经提到,conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如

1
2
3
4
5
6
7
8
9
# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

# 更新python
conda update python
# 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本

补充:如果创建新的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即可
通过pip将packages安装到Conda环境中

发行版Anaconda附带安装了200多个Python软件包,还可以使用conda install 命令快速轻松地安装许多软件包。

除了安装和管理软件包的实用程序外,conda还拥有创建虚拟环境的能力,这些虚拟环境是在没有任何Python包预先加载的情况下创建的。 但是不是所有的软件包都可以通过 conda 安装,如果你想要一个不可用的软件,那么你将不得不使用备用软件包管理器pip。Anaconda的软件包管理器conda和pip如何相互交互? 目前有两种方法:

一、以下是如何在conda虚拟环境中使用pip安装软件包。首先要建立起来:
  1. 使用conda create - name virtual_env_name 创建您的虚拟环境,用虚拟环境的 名称 替换virtual_env_name
  2. 使用source activate virtual_env_name切换到您的虚拟环境 ,再次用您的虚拟环境的名称替换virtual_env_name
  3. 运行conda install pip ,它会将pip安装到您的虚拟环境目录中
  4. 后续直接使用以下两步即可:1)source activate virtual_env_name 2)pip install ‘package_name’
二、第二种方法不单独创建虚拟环境,直接用Anaconda本身的虚拟环境。个人还是建议第一种。
  1. 运行conda install pip ,它会将pip安装到您的Anaconda虚拟环境目录中。
  2. 你需要找到你的Anaconda bin目录运行pip,如://anaconda/bin/pip install package_name将软件包安装到您的虚拟环境中 。

设置国内镜像

如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:

1
2
3
4
5
6
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉

# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

执行完上述命令后,会生成~/.condarc(Linux/Mac)C:\Users\USER_NAME\.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。

为vscode配置集成环境

VS Code下载地址为: https://code.visualstudio.com/Download 安装完anaconda会自动提示安装VS Code,如果已安装就不会安装,只会安装插件Anaconda Extension.

添加Python编译配置

首选项->设置,打开一个setting.json

1
2
3
4
5
6
7
//配置python的路径
"python.pythonPath": "D:/Program Files/Anaconda3/python",
"editor.fontFamily": "Consolas",
//忽略pylint检查代码时,出现无谓的波浪线的问题
"python.linting.pylintArgs": [
"--disable=W,C"
]
Python脚本编译测试

新建test.py,代码如下:

1
2
3
4
5
6
7
8
9
10
11
# plot a sine wave from 0 to 4pi  
from pylab import *
x_values = arange(0.0, math.pi * 4, 0.01)
y_values = sin(x_values)
plot(x_values, y_values, linewidth=1.0)
xlabel('x')
ylabel('sin(x)')
title('Simple plot')
grid(True)
savefig("sin.png")
show()

我们可以看到,代码中调用了matplotlib数据包,并且代码编译通过,显示出所打印的正弦波图像。

坚持原创技术分享,您的支持将鼓励我继续创作!