Anaconda教程

Anaconda教程

1. 什么是Anaconda

Anaconda,中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项

Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等

Miniconda包括Conda、Python
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

2. Anaconda和python的区别

Anaconda和python有什么区别呢?相信很多新手伙伴还不太了解的,为此,这里小编就分享关于Anaconda和python的区别内容,有需要的朋友不要错过哦。

  1、安装包大小不同

  python自身缺少numpy、matplotlib、scipy、scikit-learn....等一系列包,需要安装pip来导入这些包才能进行相应运算。

  Anaconda(开源的Python包管理器)是一个python发行版,包含了conda、Python等180多个科学包及其依赖项。包含了大量的包,使用Anaconda无需再去额外安装所需包
  
  2、内置不同

  IPython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。

  而Anaconda Prompt是一个Anaconda的终端,可以便捷的操作conda环境。

3. Anaconda的优点

  • 你可能已经安装了 Python,那么为什么还需要 Anaconda?有以下3个原因:

(1)包丰富

Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。

(2)管理包

Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。

在数据分析中,你会用到很多第三方的包,而conda(包管理器)可以很好的帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。 

(3)管理环境

为什么需要管理环境呢?

比如你在A项目中用了 Python 2,而新的项目B老大要求使用Python 3,而同时安装两个Python版本可能会造成许多混乱和错误。这时候 conda就可以帮助你为不同的项目建立不同的运行环境。

还有很多项目使用的包版本不同,比如不同的pandas版本,不可能同时安装两个 Numpy 版本,你要做的应该是,为每个 Numpy 版本创建一个环境,然后项目的对应环境中工作。这时候conda就可以帮你做到。

2. 如何管理包(模块)

  • 安装了 Anaconda 之后,就可以很方便的管理包了(安装,卸载,更新)
  • 注意:管理包,是进入某个环境之后的操作

(1)conda镜像源

1. 查看镜像源

conda config --show-sources

2. 切换镜像源(conda默认的下载安装包的地址可能比较慢,可以增加些国内镜像源):

方法一(修改.condarc文件):
  本人的 .condarc文件在“C:\Users\hsw” 路径中找到了,用记事本打开之后,把下面的代码复制替换原文件中的内容,保存文件后conda换源就结束了

channels:
 - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
 - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
show_channel_urls: true

方法二(通过cmd命令行添加镜像源):

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes


3. 删除镜像源
conda config --remove channels "镜像源名称"
示例:
conda config --remove channels defaults
conda config --remove channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

(2)安装包

在终端中键入:

conda install package_name

例如,要安装 pandas,在终端中输入:conda install pandas

1.你还可以同时安装多个包。类似 conda install pandas numpy 的命令会同时安装所有这些包。还可以通过添加版本号(例如 conda install numpy=1.10)来指定所需的包版本。

2.conda 还会自动为你安装依赖项。例如,scipy 依赖于 numpy,因为它使用并需要 numpy。如果你只安装 scipy (conda install scipy),则 conda 还会安装 numpy(如果尚未安装的话)

3.如果不知道要找的包的确切名称,可以尝试使用 conda search search_term 进行搜索。例如,我知道我想安装numpy,但我不清楚确切的包名称。我可以这样尝试:conda search num 

(3)卸载包

在终端中键入 :

conda remove package_names

上面命令中的package_names是指你要卸载包的名称,例如你想卸载pandas包:conda remove pandas 

(4)更新包

在终端中键入:

conda update package_name

如果想更新环境中的所有包(这样做常常很有用),使用:conda update --all 

(5)列出已安装的包

在终端中键入:

conda list

(6)导出虚拟环境的包/新的虚拟环境下安装刚才导出的文件中的包

# 切换到要导出包的虚拟环境下:

pip freeze > 想存放的路径/requirements.txt  # pip新特性,可能会出现 @file 格式
pip list --format=freeze > 想存放的路径/requirements.txt  # 我们想要的输出格式: 包==版本号

# 切到新的虚拟环境下,执行安装命令

pip install -r requirements.txt文件的路径

# 将项目使用的包下载下来,方便离线安装
pip download  -r requestments.txt  -d  /要存放包的目录/pip_packages

# 离线安装上面下载的好的包(将requirement.txt中删除不需要安装的包,然后将requirement.txt文件和下载好的包放在一个文件夹下)
pip install --no-index --find-links=/存放下载好的包的目录/ -r requirement.txt


3. 如何管理环境

  • conda 可以为你不同的项目建立不同的运行环境

(1)安装nb_conda

安装nb_conda用于notebook自动关联nb_conda的环境 

在终端中键入:

1. conda install nb_conda

2. y

(2)创建环境

在终端中使用:

conda create -n env_name package_names

1. 上面的命令中,env_name 是设置环境的名称(-n 是指该命令后面的env_name是你要创建环境的名称),package_names 是你要安装在创建环境中的包名称。

例如,要创建环境名称为 py3 的环境并在其中安装 numpy,在终端中输入 conda create -n py3 pandas

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

因为我做的项目不同,有时候会用到Python2,还有时候会用到Python3。所以我在自己的计算机上创建了这两个环境,并分别取了这样的环境名称:py2,py3。这样我可以根据不同的项目轻松使用不同版本的python。

如果你要安装特定版本(例如 Python 3.6),请使用 conda create -n py python=3.6 

(3)进入环境

1. 在 Windows 上,你可以使用 activate my_env进入。

2. 在 OSX/Linux 上使用 source activate my_env 进入环境。

进入环境后,你会在终端提示符中看到环境名称,下面图片是我进入py2的环境(这里的py2是我上面创建环境时自己起的名称,你可以起个自己喜欢的名称)。

3. 进入环境后,我可以用conda list 查看环境中默认安装的几个包。

4. 在环境中安装包的命令与前面一样:conda install package_name。不过,这次你安装的特定包仅在你进入环境后才可用 

(4)离开环境

1. 在 Windows 上,终端中输入:

deactivate

2. 在 OSX/Linux 上 输入:

source deactivate 或 conda deactivate

(5)共享环境

共享环境非常有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。

1. 你可以在你  当前的一个环境  中终端中使用 conda env export > environment.yaml 将你当前的环境保存到文件中保存为YAML文件(包括Pyhton版本和所有包的名称)。

2. 命令的第一部分 conda env export 用于输出环境中的所有包的名称(包括 Python 版本)。

3. 在“notebook工作文件夹”下(及你在终端中上图的路径)可以看到导出的环境文件: environment.yaml

4. 在 GitHub 上共享代码时,最好同样创建环境文件并将其包括在代码库中。这能让其他人更轻松地安装你的代码的所有依赖项。

导出的环境文件,在其他电脑环境中如何使用呢?

首先在conda中进入你的环境,比如activate py3,然后在使用以下命令更新你的环境:

# 其中-f表示你要导出文件在本地的路径,所以/path/to/environment.yml要换成你本地的实际路径

conda env update -f=/path/to/environment.yml

5. 对于不使用 conda 的用户,我通常还会使用 pip freeze > environment.txt 将一个 txt文件导出并包括在其中。

举个例子你可能更容易理解这个使用场景:

首先,我在自己的电脑上在conda中将项目的包导出成environment.txt 文件: 

(my_test_env) C:\hsw>pip freeze > 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)
posted @ 2022-05-12 18:41  BigSun丶  阅读(320)  评论(0)    收藏  举报