python科学计算之anaconda

时间:2021-10-07 08:36:17

简介

  利用python进行科学计算需要安装很多模块,如numpy、scipy、pandas、matplotlib等,而这些模块又依赖其他的软件包或库,因而安装使用起来相当麻烦。本文介绍的anaconda是将python科学计算所需要的模块都编译好,然后打包以发行版的形式供用户使用;其自带的包管理器conda可以安装软件包的多个版本和依赖,而且各个环境可以方便切换。
  另外我们可以通过本文来了解下conda和virtualenv这两个工具对管理不同功能环境的差异。conda更多的用在科学计算中,virtualenv则更多的用于开发环境。

安装配置

1.安装

wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh 
bash Miniconda2-latest-Linux-x86_64.sh

安装过程是交互的:
安装路径为 /usr/local/miniconda2
自动写入当前用户环境变量:

vim /root/.bashrc
# added by Miniconda2 4.2.12 installer
export PATH="$PATH:/usr/local/miniconda2/bin"

注意:如果你已经安装了python环境,最好将conda的环境变量加在PATH最后,否则会优先使用/usr/local/miniconda2/bin下的python命令,造成不必要的麻烦。

备注:conda主要包括完整版的anaconda和最小化版miniconda。anaconda包含720多个开源安装包,安装完成至少需要3G空间;miniconda安装需要大约400M空间。

2.测试安装是否成功

conda list

若打印有当前环境的安装包,则成功。

3.管理环境变量
(1)查看所有的环境,其中*表示当前正在用的环境

conda info --envs
# conda environments:
#
science * /usr/local/miniconda2/envs/science
root /usr/local/miniconda2

#切换环境变量
source activate science
(science) root@test:~# source activate root
(root) root@test:~# conda info --envs
# conda environments:
#
science /usr/local/miniconda2/envs/science
root * /usr/local/miniconda2

source deactivate science
conda info --envs
# conda environments:
#
science /usr/local/miniconda2/envs/science
root * /usr/local/miniconda2

(2)创建新的环境

conda create -n science numpy scipy matplotlib

conda create -n science -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
numpy scipy matplotlib

conda create -n science_python python=3

此时会创建一个名为science的环境,默认使用python2(若使用python3需要指定版本),并且安装numpy scipy matplotlib模块。不过由于使用官方的安装源很慢,我们在此使用国内的清华安装源。修改安装源我们在下面会具体介绍。

(3)复制环境

conda create -n science_copy --clone science
conda info --envs
# conda environments:
#
science * /usr/local/miniconda2/envs/science
science_copy /usr/local/miniconda2/envs/science_copy
root /usr/local/miniconda2

(4)删除环境

conda remove -n science_python3 --all

(5)添加国内安装源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#查看配置
conda config --show