Anaconda极大的简化了Python环境和库的管理,其最大的作用就是可以创建、管理多个不同python版本的虚拟环境,起到不同环境相互隔离、互不干扰、避免环境冲突的目的。如果使用本地Python安装多个包,经常会遇到包冲突,导致整个python环境被破坏,这时候使用虚拟环境就显得至关重要了。虚拟环境不仅可以使用anaconda,python自带的venv、第三方工具virtualenv也可以管理创建环境,但无论是venv还是virtualenv都严重依赖本地python版本,比如本地安装的python版本是Python3.8,现在有一个项目需要用python3.10,通过venv和virtualenv都只能创建python版本为3.8的虚拟环境(即跟本地的Python版本一致),只有anaconda才能创建不同python版本的虚拟环境,anaconda虽然本身自带有python(anaconda base环境)但它与本地全局安装的python无任何关系并且与其管理的其他虚拟环境中的python也无任何关系,比如你的anaconda自带的是python3.12,它可以创建python3.13、python3.10、python3.9.......的虚拟环境,这一点是venv、virtualenv无法做到的。甚至于说如果你是刚接触python的小白,我都建议你直接安装anaconda使用anaconda只带的python,anaconda安装好了就可以用python了,而不必要去python官网下载安装包、然后配置环境变量经历种种步骤这种本地全局安装的方式。ok,言归正传,下面介绍如何在windows系统下安装anaconda。
1.下载安装包,安装anaconda
Anaconda官方的下载地址:Download Anaconda Distribution | Anaconda
但有时候官方的地址进不去,或者下载太慢,这里直接推荐在清华大学开源软件镜像站下载:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
镜像站页面如下,从中根据自己的操作系统及期望安装的anaconda版本选择适合自己的版本进行下载,注意进入下面的页面最前面的链接一般都是最老版本的anaconda,最新版本的都在页面下方,需要一直向下翻,但也要注意文件的日期,配置着日期判断当前链接的anaconda到底是新版本的还是老版本的。这里建议安装最新版本的anaconda。
我这里是windows 64位系统,我这里选择Anaconda3-2024.10-1-Windows-x86_64.exe,建议读者在操作的过程中,选择最新版本的anaconda。
下载到本地之后,直接点击exe可执行文件进行安装
这里直接点击Next
点击I Agree
选择安装类型: 在安装向导中,你将看到两个安装类型:“Just Me”(仅当前用户)和“All Users”(所有用户)。通常情况下,选择“Just Me”即可。(选择“Just Me”,再点击“Next”)
选择安装路径: 选择Anaconda的安装路径。默认情况下,安装在C盘用户目录下。建议更改安装路径,但请确保选择一个没有空格或特殊字符的路径。(由于Anaconda软件占用内存比较大,不建议安装在C盘。如果C盘剩余空间比较大或者只有电脑C盘可以选择安装到C盘)
(选择安装路径,再点击“Next”)
下面重点来了,先解释一下上图中四个选择项
第一项:创建开始菜单快捷方式。推荐勾选
第二项:自动将Anaconda3添加到PATH环境变量,官方不建议勾选,我这里也不建议勾选。不勾选是因为如果配置环境变量的话可能影响其他软件。不勾选的话,以后要使用anaconda需从开始菜单中打开Anaconda Navigator或Anaconda Prompt,然后在里面用conda等命令。
不勾选的优点:避免影响其他软件
不勾选的缺点:因为没添加,所以不能直接在cmd、Powershell中起用conda命令。
如果勾选添加环境变量,假设你的anaconda安装在G盘anaconda目录,就会在“控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\path\编辑”中添加如下图所示的路径。注意这里anaconda添加的的是用户变量,不是系统变量。
勾选的话 之后在cmd或者powshell中就可以直接运行conda命令,调出python等。当然了也可以不勾选,后续想要配置anaconda环境变量的话可以自己手动添加,添加的内容就是上图中的,但要注意anaconda的安装目录要换成自己的安装目录
第三项:向系统中注册Anaconda3自带的Python(这里是Python 3.12),以便于vscode、pycharm等代码编辑器可以自动探测到系统中存在anaconda,以便于对anaconda base虚拟环境进行关联。这里建议勾选
第四项:安装完成后清除安装包缓存,建议勾选
此处建议按上面建议的选项勾选,再点击“Install”
等待安装完成。这可能需要一些时间,取决于你的电脑系统性能
然后点击Next
同样点击Next
点击"Finish",至此安装完成。
2.Anaconda使用方式
2.1 Anaconda Prompt、Anaconda Navigator启动
安装好anaconda之后,我们可以通过Anaconda Navigator这种图像化界面的方式启动,也可以通过anaconda命令行启动(Anaconda Prompt和Anaconda Powershell Prompt)。
如何打开anaconda命令行或者Anaconda Navigator图形化界面呢?在win11中,点击电脑的windows徽标的“所有应用”中,可以看到anaconda目录,里面有 Anaconda Prompt和Anaconda Powershell Prompt(见下图),这个两个就是anaconda命令行,当然这个目录下也有Anaconda Navigator,点击其可以启动anaconda图形化界面
点击Anaconda Powershell Prompt,调出如下图所示的窗口,在该命令行窗口中即可新建conda虚拟环境
点击Anaconda Navigator,启动如下图所示的图形化界面
关于创建虚拟环境,特别特别不建议使用上图中的Anaconda Navigator去通过图像化界面的方式去创建管理虚拟环境,因为特别特别卡,特别特别慢,对于小白,图形化界面可能用起来很爽,但及其不建议使用这种方式,建议使用命令行(Anaconda Prompt和Anaconda Powershell Prompt)创建、管理anaconda虚拟环境。Anaconda Powershell Prompt和Anaconda Prompt对于conda命令支持都是一样的,创建、管理conda环境的命令也都是一样的。但Anaconda Powershell Prompt比Anaconda Prompt命令支持更全一点,无特殊情况尽量只用Anaconda Powershell Prompt
其实anaconda命令很简单的,没那么复杂,在下面的章节会详细介绍anaconda基本操作命令。
2.2 windows的cmd命令窗口使用anaconda命令
无特殊情况尽量只用Anaconda Powershell Prompt启动anaconda进行后续操作,但好多人至今还没搞明白在cmd窗口中,anaconda是怎么个回事,因此本小节聊一下如何在cmd命令窗口使用anaconda命令,同时本人也极其不建议在cmd窗口中用anaconda,除了使用conda命令便捷一点,其余全是缺点,正如anaconda官方不建议配置anaconda的环境变量一样(本质上就是不建议在cmd这种系统命令行中使用anaconda),是因为在cmd命令行中使用anaconda真到可能会影响其他软件。举一个例子,如果你配置好了在cmd命令行中使用anaconda,你会发现你之前在系统中安装的python(全局python)被anaconda的python覆盖了,这在windows系统中是一件无关紧要的事情,但要在linux系统中,可就惨了.......
如何配置anaconda使其可以在cmd命令窗口使用conda命令呢?
首先,检查你的环境变量中有没有配置anaconda的环境变量,如果你在安装anaconda的过程中,勾选了“将ananconda添加进环境变量”(下图红色方框)
那么你的用户环境变量,注意不是系统环境变量中,会存在下面5个用户变量
如果你没有在安装anaconda的时候,勾选 “将ananconda添加进环境变量”,为了在cmd中使用anaconda你需要根据你自己的anaconda安装目录将将上面5个环境变量手动添加进环境变量中去(配置到用户变量和系统变量都行,但首选系统变量)。ps:这里如何配置环境变量就不详细说明了。
安装好anaconda之后,打开cmd命令行窗口,发现命令行前并无conda环境的提示,但由于配置了环境变量的缘故cmd中可以识别conda
使用conda activate 命令可以在cmd中激活conda ,然后命令行前会出现conda环境名的提示,激活了conda后续就可以在cmd中通过conda命令新建、管理虚拟环境
如果想要在cmd中退出conda环境,可以使用conda deactivate
2.3 windows powershell中使用anaconda
当然也不建议在windows powershell中使用anaconda,无特殊情况尽量只用Anaconda Powershell Prompt启动anaconda进行后续操作。理由同上小节
不同于anaconda在cmd命令窗口的配置方法,无论你有没有配置环境变量,只要安装好了anaconda都可以在windows powershell中使用conda命令。一般来说,安装好了anaconda直接打开windows powershell,命令行前就有conda环境名的提示,意味着windows powershell已经激活了conda,可以直接使用,如下图:
但如果 直接打开windows powershell,命令行前没有conda环境名的提示,意味着windows powershell还未激活了conda,不可以直接使用。尝试使用 conda activate命令激活,如果执行该命令后命令行前出现conda环境名提示,则激活成功。如下图所示
如果 使用conda activate后命令行前没有出现conda环境名提示,则激活失败。此时要使用
conda init powershell
在powershell中初始化conda ,然后关闭powershell窗口再重新打开,如下图操作所示。
如果想要在 windows powershell中退出conda,可以使用 conda deactivate命令,如下图所示
3. 常用的anaconda命令
查询 conda 版本
conda --version
更新 conda
conda update conda
查看conda环境详细信息
conda info
查看当前有哪些虚拟环境
conda env list
或者使用如下命令:
conda info --envs
创建一个新的虚拟环境
conda create -n xxx python=3.10
其中,通过 -n或--name 来自定义的环境名称,如:xxx;同时,指定Python的版本。
激活虚拟环境
conda activate xxx
退出当前虚拟环境
conda deactivate
彻底删除某个虚拟环境
conda remove -n your_env_name --all 其中,-n与--name等价,表示虚拟环境名
复制某个虚拟环境
conda create --name new_env_name --clone old_env_name
安装包
conda install xxx
(如:conda install numpy)
指定包版本:
conda install xlrd=1.2.0 (注意是单等于号)
也可以使用pip install安装:
pip install xlrd==1.2.0 (注意是双等于号)
批量安装 requirements.txt 文件中包含的组件依赖
conda install --yes --file requirements.txt
批量导出包含环境中所有依赖包到requirements.txt文件。
conda list -e > requirements.txt
删除某个包
conda remove xxxx
注意:这里并非conda uninstall,只有在pip指令下才有pip uninstal。
升级当前环境中的某个包
conda update xxx
升级所有包:
conda update --all
搜索包
conda search xxx
删除没有用的安装包。
Conda 安装的包都在目录Anaconda/pkgs下。随着使用,conda 安装的包也越来越多;有时候会出现以下不好的情况:有些包安装之后,从来没有使用过;一些安装包的tar包也保留在了计算机中;由于依赖或者环境等原因,某些包的不同版本重复安装。上面的这些情况使得anaconda显得更加冗余,并且浪费储存;对于这些情况可以使用conda clean 净化Anaconda。
conda clean -p
或者
conda clean --packages
删除tar包
conda clean -t
或者
conda clean --tarballs
删除所有的安装包及cache、删除索引缓存、锁定文件、未使用过的包和tar包。
conda clean -y --all
查看镜像源
conda config --show channels
添加镜像源
如:添加清华源
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
上面的设置表示从channel中安装包时显示channel的url,这样就可以知道包的安装来源了。
清除索引缓存,保证用的是镜像站提供的索引
conda clean -i
切换回默认源(注意这个命令是删除所有用户配置的、添加的源,恢复anaconda官方的源)
conda config --remove-key channels
移除某个镜像源
如:移除清华源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
4.使用anaconda可能存在的问题
4.1 自己配置的源报错
常见于自己添加了比如清华源,但是一使用conda命令就报错,导致新建环境建不了,比如一种常见的错误是:
UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel xxx
错误显示了 HTTP 404 NOT FOUND,这意味着 Conda 无法找到指定的通道。可能是由于通道 URL 不正确或者通道不可访问导致的,通道无效。有时候显示在尝试使用Conda创建一个新的虚拟环境并安装时遇到了HTTP 429错误,这表示向服务器发送了过多的请求,超过了服务器允许的频率限制(TOO MANY REQUESTS)。这个问题通常是因为在短时间内频繁访问同一个镜像源所致。
总结起来就是一句话,自己配置的源不可用,其实现在包括清华源、阿里的conda源有时候都会出现报错的问题,现在国内最可靠的conda源是conda-forge。因此。从今天起不要在添加清华、阿里这些的anaconda源了,使用默认源,国内配置一个conda-forge源就行了
#删除之前添加的所有镜像源(如清华源等),恢复为anaconda默认的镜像源
conda config --remove-key channels#添加conda-forge国内源
conda config --add channels conda-forge