anaconda介绍
anaconda 是开源的Python包管理器,包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换
anaconda安装
下载anaconda ,下载地址:https://www.anaconda.com/download/
根据自己机器的类型和python的版本下载对应的 anaconda版本。
下载完成后点击安装
安装完成后,在windows 列表里会显示,
Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
Anaconda prompt :类似于windows的cmd窗口,可以通过命令行执行需要的指令
Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。
andconda使用
anaconda主要有两个作用:
(一)管理包
(二)管理环境
(一)管理包
(1)查询已经安装的包
conda list
(2)查询相关包的信息
首先搜索包和对应的numpy,注意这里是anaconda,而不是conda
搜索 tensorflow
anaconda search -t conda tensorflow
找到对应的tensorflow 版本后可以使用anaconda show 查看安装命令
anaconda show anaconda/tensorflow
(3)安装包
conda 的包管理功能和pip 是一样的,当然你选择pip 来安装包也是没问题的。
安装 numpy
conda install numpy
注释:解决安装过程中速度慢的问题,可以添加清华镜像
在终端运行以下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
(4)卸载包
conda remove numpy
(5)更新包
conda update numpy
查看已安装的某个包
conda list requests
查看某个指定环境的已安装包
conda list -n python36
查找package信息
conda search numpy
安装package
conda install -n python36 numpy
如果不用-n指定环境名称,则被安装在当前活跃环境
也可以通过-c指定通过某个channel安
(二)管理环境
为什么需要管理环境呢?
比如你在A项目中用了 Python 2,而新的项目B要求使用Python 3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候 conda就可以帮助你为不同的项目建立不同的运行环境。
还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个 Numpy 版本,你要做的应该是,为每个 Numpy 版本创建一个环境,然后项目的对应环境中工作。这时候conda就可以帮你做到。
1)创建环境
在终端中使用:
conda create -n env_name package_names
上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。
例如,要创建环境名称为 py3 的环境并在其中安装 numpy,在终端中输入 conda create -n py3 numpy。
2)指定python的版本
当你同时使用 Python 2.x 和 Python 3.x 中的代码时这很有用。要创建具有特定 Python 版本的环境,例如创建环境名称为py3,并安装最新版本的Python3在终端中输入:
conda create -n py3 python=3
或也可以这样创建环境名称为py2,并安装最新版本的Python2:
conda create -n py2 python=2
如果你要安装特定版本(例如 Python 3.6),请使用 conda create -n py python=3.6
3)进入环境
在 Windows 上,你可以使用 activate my_env进入。在 OSX/Linux 上使用 source activate my_env 进入环境。
进入环境后,你会在终端提示符中看到环境名称,下面图片是我进入py2的环境(这里的py2是我上面创建环境时自己起的名称,你可以起个自己喜欢的名称)。
进入环境后,我可以用conda list 查看环境中默认安装的几个包。
在环境中安装包的命令与前面一样:conda install package_name。不过,这次你安装的特定包仅在你进入环境后才可用。
4)离开环境
在 Windows 上,终端中输入:
deactivate
在 OSX/Linux 上 输入:
source deactivate
5)共享环境
共享环境非常有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。
你可以在你当前的环境中终端中使用 conda env export > environment.yaml 将你当前的环境保存到文件中保存为YAML文件(包括Pyhton版本和所有包的名称)。
命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。
在“notebook工作文件夹”下(及你在终端中上图的路径)可以看到导出的环境文件:
导出的环境文件,在其他电脑环境中如何使用呢?
首先在conda中进入你的环境,比如activate py3,然后在使用以下命令更新你的环境:
#其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径
conda env update -f=/path/to/environment.yml
对于不使用 conda 的用户,我通常还会使用 pip freeze > environment.txt 将一个 txt文件导出并包括在其中。
举个例子你可能更容易理解这个使用场景:
首先,我在自己的电脑上在conda中将项目的包导出成environment.txt 文件:
然后我将该文件包含在项目的代码库中,其他项目成员即使在他的电脑上没有安装conda也可以使用该文件来安装和我一样的开发环境。
他在自己的电脑上进入python命令环境,然后运行以下命令就可以安装该项目需要的包:
pip install -r /path/requirements.txt
其中/path/requirements.txt是该文件在你电脑上的实际路径。
6)列出环境
我有时候会忘记自己创建的环境名称,这时候用 conda env list 就可以列出你创建的所有环境。
你会看到环境的列表,而且你当前所在环境的旁边会有一个星号。
7)删除环境
如果你不再使用某个环境,可以使用 conda env remove -n env_name 删除指定的环境(在这里环境名为 env_name)。