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
Anaconda具有如下特点:
其特点的实现主要基于Anaconda拥有的:
Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:Conda, NumPy, SciPy , IPython Notebook等。
Anaconda 是在 Conda(一个包管理器和环境管理器)上发展出来的。
Anaconda集成了常用的扩展包,能够方便地对这些扩展包进行管理,比如安装和卸载包,这些操作都需要依赖Conda。Conda是一个在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统,可以快速地安装、运行和更新软件包及其依赖项。
Conda是一个在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统。Conda可以快速安装、运行和更新软件包及其依赖项。Conda可以在安装环境上轻松创建、保存、加载和切换环境。它是为Python程序创建的,但它可以为任何语言打包和分发软件。
Conda类似于npm或Maven的包及其依赖项和环境管理工具,只是Conda是针对于Python的。可以安装Miniconda或Anaconda进行安装,前者是简化版本,只包含Conda和其依赖。如果安装环境有python相关包也没有关系,不需要进行卸载。
Conda作为软件包管理器可以帮助您查找和安装软件包。如果您需要一个需要不同版本Python的包,则不需要切换到不同的环境管理器,因为Conda也是一个环境管理器。只需几个命令,您就可以设置一个完全独立的环境来运行不同版本的Python,同时在正常环境中继续运行常用版本的Python。
pip是用于安装和管理软件包的包管理器。
Python中默认安装的版本:
PyPI包下载地址:https://pypi.org/search/
virtualenv:用于创建一个独立的Python环境的工具。
在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接对Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。
如以下场景:
virtualenv将会为它自己的安装目录创建一个环境,这并不与其他virtualenv环境共享库;同时也可以选择性地不连接已安装的全局库。
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/
备份环境变量相关文件
cp $HOME/.bashrc $HOME/.bashrc.bak20230808
创建Anaconda安装目录
mkdir -p /home/cw/soft/python3
执行Anaconda安装脚本
sh Anaconda3-2020.07-Linux-x86_64.sh
输入yes接收协议内容
输入安装路径:/home/cw/soft/python3/conda
输入no不进行初始化
完成Anaconda安装
添加环境变量Conda,并使环境变量生效,至此anaconda环境配置完成。
vim .bashrc
# 添加以下内容
export PATH=/home/cw/soft/python3/conda/bin:$PATH
使用以下命令让环境变量生效
source $HOME/.bashrc
添加虚拟环境安装路径:/home/cw/soft/python3/envs
,该自定义配置项将会自动添加到$HOME/.condarc
中。
conda config --add envs_dirs /home/cw/soft/python3/envs
删除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目录层级,主要分为pkgs目录和envs目录。
其中:
pkgs目录
:主要是下载、存放缓存,以及提取下载的conda包的地方。同时,Anaconda一起携带的包也会放在这里。它有一个非常关键的作用:在构建一些envs的时候,对一些包的依赖会通过硬盘链接链接到pkgs目录,这样虚拟环境生成的速度会大大加快,占用空间就大大减小了envs目录
:主要用来存放虚拟环境。查看Conda当前版本信息
conda --version
更新Conda版本,此操作需联网。
conda update conda
显示Conda基础信息
conda info
conda info --all
conda info -e
conda info -s
创建一个名为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
不联网进行虚拟环境创建。
conda create -n my_env_name --offline
可以使用以下命令进行环境切换,不切换则默认在base环境中。
source activate test
conda activate test(初始化后可使用)
source deactivate
conda deactivate(初始化后可使用)
复制snowflakes环境到flowers
conda create --name flowers --clone snowflakes
离线复制base环境
conda create -n jsyy --clone base --offline
使用以下命令可以完整的删除指定虚拟环境
conda remove -n flowers --all
使用以下命令可以查看所有的虚拟环境信息,*
标识的表示当前所在的虚拟环境。
conda info -e
也可使用以下命令
conda env list
Conda把Python看作和其他包一样,可以在创建虚拟环境的时候指定
使用以下命令可以查看当前Conda可下载的python版本信息。
conda search --full-name python
conda create --name snakes python=3
查看可以通过Conda命令安装的包名,可以在网站查看http://docs.continuum.io/anaconda/pkg-docs.html
# 不加-n选项,默认查看当前环境
conda list
# 查看环境test下已安装的包
conda list -n test
查找全名为“Python”的包有哪些版本可供安装
conda search --full-name python
查找含有“py”字段的包,有哪些版本可供安装
conda search py
查找paramiko所有版本的包的详细信息
conda search paramiko --info
查找paramiko版本大于等于2.7.0的相关包信息
conda search 'paramiko>=2.7.0' --info
安装包到环境test2,不加-n或–name时,默认安装到当前环境
conda install -n test2 paramiko
注意:conda默认从https://repo.continuum.io/pkgs/下载安装包,当无法找到需要的安装包时,可以通过Anaconda.org安装包, 在https://anaconda.org/search 可以搜索可用的包并在包详情页面获取下载命令,如:
# 安装包psycopg2
conda install -c conda-forge psycopg2
# 检查安装结果
conda list
找不到的包可以先在以下两个网站里查找
找到之后就直接下载下来了,下载到的是一个.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
注意:
更新当前环境下所有的包,可使用如下命令完成。
conda update --all
如果只想更新某个包或某些包,则直接在update命令的后面加上包名即可,多个包之间使用空格隔开,示例命令如下。
# 更新numpy包
conda update NumPy
# 更新pandas、NumPy、matplotlib包
conda update pandas NumPy matplotlib
删除test2环境中的paramiko包
conda remove -n test2 paramiko
删除前环境中的包列表
删除指定python包时,其依赖的一些包也会一起删除。
删除后环境中的包列表
删除test环境
conda remove -n test --all
删除没有使用的包,这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们。
conda clean -p
删除所有的索引缓存、lock文件、未使用的缓存包和压缩包
conda clean -a
conda clean -y -all
删除索引
conda clean -i
删除缓存的包压缩包
conda clean -t