Anaconda使用指南

文章目录

  • 一、Anaconda简介
    • 1.1 介绍
    • 1.2 特点
    • 1.3 Anaconda、Conda、pip、virtualenv的区别
      • 1.3.1 Anaconda
      • 1.3.2 Conda
      • 1.3.3 pip
      • 1.3.4 virtualenv
  • 二、Anaconda安装
    • 2.1 Anaconda下载地址
    • 2.2 Anaconda安装步骤
      • 2.2.1 备份文件
      • 2.2.2 创建目标目录
      • 2.2.3 执行安装脚本
      • 2.2.4 配置环境变量
      • 2.2.5 添加虚拟环境配置
    • 2.3 回退操作
  • 三、Conda使用
    • 3.1 Conda目录结构介绍
    • 3.2 Conda命令介绍
      • 3.2.1 Conda版本管理
        • 3.2.1.1 查看当前conda版本
        • 3.2.1.2 更新conda
        • 3.2.1.3 查看conda信息
      • 3.2.2 Conda环境管理命令
        • 3.2.2.1 创建环境
        • 3.2.2.2 离线创建虚拟环境
        • 3.2.2.3 激活环境
        • 3.2.2.4 退出环境
        • 3.2.2.5 复制环境
        • 3.2.2.6 删除环境
        • 3.2.2.7 查看所有环境
      • 3.2.3 Conda Python版本管理命令
        • 3.2.3.1 查看可用的Python版本
        • 3.2.3.2 安装不同版本的python
      • 3.2.4 Conda 包管理
        • 3.2.4.1 查看当前环境下的已经安装的包
        • 3.2.4.2 查找包
          • 1.精确查找
          • 2.模糊查找
          • 3.查看包详细信息
        • 3.2.4.3 Conda 安装包(联网环境下)
        • 3.2.4.4 更新包
        • 3.2.4.5 删除包
        • 3.2.4.6 删除环境
        • 3.2.4.7 清理包

一、Anaconda简介

1.1 介绍

Anaconda是一个安装、管理Python相关包的软件,还自带Python、Jupyter Notebook、Spyder,有管理包的Conda工具。Anaconda包含了Conda、Python在内的超过180个科学包及其依赖项。
Anaconda 是专门为了方便使用 Python 进行数据科学研究而建立的一组软件包,涵盖了数据科学领域常见的 Python 库,并且自带了专门用来解决软件环境依赖问题的 Conda 包管理系统。主要是提供了包管理环境管理的功能,可以很方便地解决多版本Python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令Conda来进行包和环境的管理,并且已经包含了Python和相关的配套工具。
Conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的Python并可以快速切换。
Anaconda则是一个打包的集合,里面预装好了Conda、某个版本的Python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,它只包含最基本的内容——Python与Conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
Conda将几乎所有的工具、第三方包都当做package对待,甚至包括Python和Conda自身。因此,Conda打破了包管理与环境管理的约束,能非常方便地安装各种版本Python、各种package并方便地切换。

官网:https://www.anaconda.com/products/distribution

1.2 特点

Anaconda具有如下特点:

  1. 开源
  2. 安装过程简单
  3. 高性能使用Python和R语言
  4. 免费的社区支持

其特点的实现主要基于Anaconda拥有的:

  1. Conda包
  2. 环境管理器
  3. 1,000+开源库

1.3 Anaconda、Conda、pip、virtualenv的区别

1.3.1 Anaconda

Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:Conda, NumPy, SciPy , IPython Notebook等。
Anaconda 是在 Conda(一个包管理器和环境管理器)上发展出来的。
Anaconda集成了常用的扩展包,能够方便地对这些扩展包进行管理,比如安装和卸载包,这些操作都需要依赖Conda。Conda是一个在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统,可以快速地安装、运行和更新软件包及其依赖项。

1.3.2 Conda

Conda是一个在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统。Conda可以快速安装、运行和更新软件包及其依赖项。Conda可以在安装环境上轻松创建、保存、加载和切换环境。它是为Python程序创建的,但它可以为任何语言打包和分发软件。
Conda类似于npm或Maven的包及其依赖项和环境管理工具,只是Conda是针对于Python的。可以安装Miniconda或Anaconda进行安装,前者是简化版本,只包含Conda和其依赖。如果安装环境有python相关包也没有关系,不需要进行卸载。
Conda作为软件包管理器可以帮助您查找和安装软件包。如果您需要一个需要不同版本Python的包,则不需要切换到不同的环境管理器,因为Conda也是一个环境管理器。只需几个命令,您就可以设置一个完全独立的环境来运行不同版本的Python,同时在正常环境中继续运行常用版本的Python。

1.3.3 pip

pip是用于安装和管理软件包的包管理器。
Python中默认安装的版本:

  • Python 2.7.9及后续版本:默认安装,命令为pip
  • Python 3.4及后续版本:默认安装,命令为pip3

PyPI包下载地址:https://pypi.org/search/

1.3.4 virtualenv

virtualenv:用于创建一个独立的Python环境的工具。
在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接对Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。
如以下场景:

  1. 当一个程序需要使用Python 2.7版本,而另一个程序需要使用Python 3.6版本,如何同时使用这两个程序?
  2. 如果将所有程序都安装在系统下的默认路径,如:/usr/lib/python2.7/site-packages,当不小心升级了本不该升级的程序时,将会对其他的程序造成影响。
  3. 如果想要安装程序并在程序运行时对其库或库的版本进行修改,都会导致程序的中断。
  4. 在共享主机时,无法在全局site-packages目录中安装包。

virtualenv将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。

二、Anaconda安装

2.1 Anaconda下载地址

Conda默认随Miniconda或Anaconda发行,因此要安装Conda,只需要安装Miniconda或Anconda即可。

如果通过Anaconda安装, 国内直接从官网下载安装包会比较慢,可以通过https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下载。

另外在使用Anaconda中附带的Conda安装软件包时,为了加快速度,也可以为Conda设置使用清华的源,具体使用可以参考https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

使用Conda安装包时,默认是从https://repo.continuum.io/pkgs/ 搜索并下载的。
官方下载:https://www.anaconda.com/products/individual
清华镜像下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

2.2 Anaconda安装步骤

2.2.1 备份文件

备份环境变量相关文件

cp $HOME/.bashrc $HOME/.bashrc.bak20230808

2.2.2 创建目标目录

创建Anaconda安装目录

mkdir -p /home/cw/soft/python3

2.2.3 执行安装脚本

执行Anaconda安装脚本

sh Anaconda3-2020.07-Linux-x86_64.sh

Anaconda使用指南_第1张图片
输入yes接收协议内容
在这里插入图片描述
输入安装路径:/home/cw/soft/python3/conda
Anaconda使用指南_第2张图片
输入no不进行初始化
Anaconda使用指南_第3张图片
完成Anaconda安装
Anaconda使用指南_第4张图片

2.2.4 配置环境变量

添加环境变量Conda,并使环境变量生效,至此anaconda环境配置完成。

vim .bashrc
# 添加以下内容
export PATH=/home/cw/soft/python3/conda/bin:$PATH

使用以下命令让环境变量生效

source $HOME/.bashrc

2.2.5 添加虚拟环境配置

添加虚拟环境安装路径:/home/cw/soft/python3/envs,该自定义配置项将会自动添加到$HOME/.condarc中。

conda config --add envs_dirs /home/cw/soft/python3/envs

2.3 回退操作

删除home目录下的配置项(务必谨慎)

rm -rf /home/cw/.condarc
rm -rf /home/cw/.conda

删除安装文件夹

rm -rf /home/cw/soft/python3

恢复原始的.bashrc文件

mv $HOME/.bashrc.bak20230808 $HOME/.bashrc

即去除行:export PATH=/home/cw/soft/python3/conda/bin:$PATH

三、Conda使用

3.1 Conda目录结构介绍

下图为Conda目录层级,主要分为pkgs目录和envs目录。
Anaconda使用指南_第5张图片
其中:

  • pkgs目录:主要是下载、存放缓存,以及提取下载的conda包的地方。同时,Anaconda一起携带的包也会放在这里。它有一个非常关键的作用:在构建一些envs的时候,对一些包的依赖会通过硬盘链接链接到pkgs目录,这样虚拟环境生成的速度会大大加快,占用空间就大大减小了
  • envs目录:主要用来存放虚拟环境。

3.2 Conda命令介绍

3.2.1 Conda版本管理

3.2.1.1 查看当前conda版本

查看Conda当前版本信息

conda --version

在这里插入图片描述

3.2.1.2 更新conda

更新Conda版本,此操作需联网。

conda update conda

3.2.1.3 查看conda信息

显示Conda基础信息

conda info

Anaconda使用指南_第6张图片
显示所有conda信息

conda info --all

Anaconda使用指南_第7张图片
显示当前所有虚拟环境

conda info -e

Anaconda使用指南_第8张图片
显示环境变量

conda info -s

Anaconda使用指南_第9张图片

3.2.2 Conda环境管理命令

3.2.2.1 创建环境

创建一个名为snowflakes的环境,并安装biopython(默认使用下载anconda时选择的python版本)

conda create --name snowflakes biopython

创建python=3.8.3的版本环境取名叫nlp

conda create -n nlp python=3.8.3

创建名为bunnies,使用python 3.8.3的环境,并安装astroid和babel

conda create --name bunnies python=3.8.3 astroid babel

创建名为tf的环境,并安装python和tensorflow两个包

conda create -n tf python=3.8 tensorflow=2.2

3.2.2.2 离线创建虚拟环境

不联网进行虚拟环境创建。

conda create -n my_env_name --offline

Anaconda使用指南_第10张图片

3.2.2.3 激活环境

可以使用以下命令进行环境切换,不切换则默认在base环境中。

source activate test
conda activate test(初始化后可使用)

在这里插入图片描述

3.2.2.4 退出环境

source deactivate
conda deactivate(初始化后可使用)

在这里插入图片描述

3.2.2.5 复制环境

复制snowflakes环境到flowers

conda create --name flowers --clone snowflakes

离线复制base环境

conda create -n jsyy --clone base --offline

3.2.2.6 删除环境

使用以下命令可以完整的删除指定虚拟环境

conda remove -n flowers --all

3.2.2.7 查看所有环境

使用以下命令可以查看所有的虚拟环境信息,*标识的表示当前所在的虚拟环境。

conda info -e

也可使用以下命令

conda env list

Anaconda使用指南_第11张图片

3.2.3 Conda Python版本管理命令

Conda把Python看作和其他包一样,可以在创建虚拟环境的时候指定

3.2.3.1 查看可用的Python版本

使用以下命令可以查看当前Conda可下载的python版本信息。

conda search --full-name python

Anaconda使用指南_第12张图片

3.2.3.2 安装不同版本的python

conda create --name snakes python=3

3.2.4 Conda 包管理

查看可以通过Conda命令安装的包名,可以在网站查看http://docs.continuum.io/anaconda/pkg-docs.html

3.2.4.1 查看当前环境下的已经安装的包

# 不加-n选项,默认查看当前环境
conda list
# 查看环境test下已安装的包
conda list -n test

3.2.4.2 查找包

1.精确查找

查找全名为“Python”的包有哪些版本可供安装

conda search --full-name python

Anaconda使用指南_第13张图片

2.模糊查找

查找含有“py”字段的包,有哪些版本可供安装

conda search py
3.查看包详细信息

查找paramiko所有版本的包的详细信息

conda search paramiko --info

查找paramiko版本大于等于2.7.0的相关包信息

conda search 'paramiko>=2.7.0' --info

Anaconda使用指南_第14张图片

3.2.4.3 Conda 安装包(联网环境下)

安装包到环境test2,不加-n或–name时,默认安装到当前环境

conda install -n test2 paramiko

Anaconda使用指南_第15张图片
可以看到安装时会列出以下内容

  1. 当前所在环境
  2. 所需其他依赖包及其版本,安装包时自动安装其依赖项。

注意:conda默认从https://repo.continuum.io/pkgs/下载安装包,当无法找到需要的安装包时,可以通过Anaconda.org安装包, 在https://anaconda.org/search 可以搜索可用的包并在包详情页面获取下载命令,如:

# 安装包psycopg2
conda install -c conda-forge psycopg2
# 检查安装结果
conda list

找不到的包可以先在以下两个网站里查找

  • https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
  • https://anaconda.org/anaconda/repo

找到之后就直接下载下来了,下载到的是一个.tar.gz2的压缩文件,之后将压缩文件放在Anaconda安装目录的pkgs目录下(注:conda install 缓存文件路径为anaconda/pkgs)。
如果是因为网络原因某个包下载失败,可以删除原来下载的不完整的缓冲文件,再复制或本地安装即可,例如:

conda install --use-local pytorch-0.4.0-py35_cuda8.0.61_cudnn7.1.2_1.tar.bz2

注意:–use-local后面最好写绝对路径,或者进入到Anaconda的pkgs目录下再执行上述语句。
当实在无法使用conda安装,也无法从Anaconda.org下载到需要的安装包时,可以通过pip命令安装

pip install see
# 查看包
conda list

注意:

  1. pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。
  2. pip无法更新Python,因为pip并不将Python视为包。
  3. pip可以安装一些Conda无法安装的包;Conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。

3.2.4.4 更新包

更新当前环境下所有的包,可使用如下命令完成。

conda update --all

如果只想更新某个包或某些包,则直接在update命令的后面加上包名即可,多个包之间使用空格隔开,示例命令如下。

# 更新numpy包
conda update NumPy 

# 更新pandas、NumPy、matplotlib包
conda update pandas NumPy matplotlib 

3.2.4.5 删除包

删除test2环境中的paramiko包

conda remove -n test2 paramiko

删除前环境中的包列表
Anaconda使用指南_第16张图片
删除指定python包时,其依赖的一些包也会一起删除。
Anaconda使用指南_第17张图片
删除后环境中的包列表
Anaconda使用指南_第18张图片

3.2.4.6 删除环境

删除test环境

conda remove -n test --all

Anaconda使用指南_第19张图片

3.2.4.7 清理包

删除没有使用的包,这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们。

conda clean -p

删除所有的索引缓存、lock文件、未使用的缓存包和压缩包

conda clean -a
conda clean -y -all

删除索引

conda clean -i

删除缓存的包压缩包

conda clean -t

你可能感兴趣的:(Python,conda,python)