代码改变世界

Anaconda使用(转载)

2017-08-19 13:52  minus01  阅读(643)  评论(0编辑  收藏  举报

Anaconda

Anaconda 是一个包含数据科学常用包的发行版本。它基于 conda ——一个包和环境管理器——衍生而来。

Anaconda 实际上是一个软件发行版,它附带了 condaPython 和 150 多个科学包及其依赖项。应用程序 conda 是包和环境管理器。Anaconda 的下载文件比较大(约 500 MB),因为它附带了 python 中最常用的数据科学包。如果只需要某些包,或者需要节省带宽或存储空间,也可以使用 Miniconda 这个较小的发行版(仅包含 conda 和 Python)。

安装Anaconda

Anaconda 可用于 Windows、Mac OS X 和 Linux。可以在 https://www.continuum.io/downloads 上找到安装程序和安装说明。

如果计算机上已经安装了 Python,这不会有任何影响。实际上,脚本和程序使用的默认 Python 是 Anaconda 附带的 Python。 
这里需要注意的是选对自己操作系统对应的版本。 
安装完后打开cmd,输入conda list可以查看当前 
安装的内容。 
输入conda upgrade --all,可以更新默认环境下的所有包。并在提示是否更新的时候输入y(Yes)以便让更新继续。初次安装下的软件包版本一般都比较老旧,因此提前更新可以避免未来不必要的问题。

管理包

conda 是一种只能通过命令行来使用的程序。类似于pip那样可以对Python库的包进行管理。 
安装命令:conda install package_name。如安装numpy,输入conda install numpy 
同时安装多个包:conda install numpy scipy pandas 
安装指定版本的包:conda install numpy=1.11 
conda会自动安装依赖库。 
卸载包:conda remove package_name 
更新包:conda update package_name 
更新环境中的所有包:conda update --all 
列出已安装的包:conda list 
为conda添加清华镜像源

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

如果不知道要找的包的确切名称,可以使用 conda search search_term 进行搜索。

管理环境

除了管理包之外,conda 还是虚拟环境管理器。它类似于另外两个很流行的环境管理器,即 virtualenv 和 pyenv。 
环境可以分隔不同项目的包。因为我们使用的时候会依赖于某个库的不同版本的代码或在py2和py3之间进行切换。

也可以将环境中的包的列表导出为文件,然后将该文件与代码包括在一起。这能让其他人轻松加载代码的所有依赖项。pip 提供了类似的功能,即 pip freeze > requirements.txt

创建环境:

conda create -n env_name list of packages-n env_name 设置环境的名称(-n 是指名称),而 list of packages 是要安装在环境中的包的列表。 
创建环境时,可以指定要安装在环境中的 Python 版本。 conda create -n py3 python=3 或 conda create -n py2 python=2 。要安装特定版本(例如 Python 3.3),请使用 conda create -n py python=3.3

进入环境

创建了环境后,在 OSX/linux 上使用 source activate my_env 进入环境。在 Windows 上,请使用 activate my_env。 
要离开环境,请键入 source deactivate(在 OSX/Linux 上)。在 Windows 上,请使用 deactivate

保存和加载环境

共享环境这项功能确实很有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。可以使用 conda env export > environment.yaml 将包保存为 YAML。第一部分 conda env export 写出环境中的所有包(包括 Python 版本)。 
第二部分 > environment.yaml 将导出的文本写入到 YAML 文件 environment.yaml 中。现在可以共享此文件,而且其他人能够创建和你用于项目相同的环境。 
要通过环境文件创建环境,请使用 conda env create -f environment.yaml。这会创建一个新环境,而且它具有在 environment.yaml 中列出的同一库。

列出环境

如果忘记了环境的名称,可以使用 conda env list 或conda info -e列出你创建的所有环境。你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。默认的环境(即当你不在环境中时使用的环境)名为 root

删除环境

不再使用某些环境,可以使用 conda env remove -n env_name 删除指定的环境(在这里名为 env_name)。

共享环境

共享环境 
在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。对于不使用 conda 的人,我通常还会使用 pip freeze(在此处了解详情)将一个 pip requirements.txt 文件包括在内。

> pip freeze > requirements.txt
> pip install -r requirements.txt