当前位置: 首页 > 后端技术 > Python

Python多环境管理神器(Anaconda)

时间:2023-03-25 21:34:14 Python

1.什么是AnacondaAnaconda是一个专注于数据分析的Python发行版,包括conda、Python等190多个科学包及其依赖。Anaconda通过管理工具包、开发环境和Python版本极大地简化了您的工作流程。不仅可以方便地安装、更新、卸载工具包,安装时自动安装相应的依赖包,还可以使用不同的虚拟环境隔离不同需求的项目。安装Acaconda的默认Python是2.7;安装Acaconda3的默认Python是3.6。想学好Python却无路可走?别着急,现在就关注gzh【Python编程学习圈】领取海量学习教程资料,包括电子书、源码笔记、实战项目、学习思维导图等干货,赶快来领取吧!2.什么是CondaConda是一个开源的包和虚拟环境管理器,可以用来在同一台机器上安装不同版本的软件包及其依赖,并且可以在不同的环境之间切换。它的包管理类似于PIP。包管理:可以使用conda来安装、更新和卸载工具包,它更侧重于数据科学相关的工具包。安装anaconda时,预先集成了Numpy、Scipy、pandas、Scikit-learn等数据分析常用的包。另外值得一提的是,conda不仅可以管理Python工具包,它还可以安装非Python包。例如,在新版本的Anaconda中可以安装R语言集成开发环境Rstudio。虚拟环境管理:conda中可以建立多个虚拟环境,隔离不同项目需要的不同版本的工具包,防止版本冲突。对于纠结Python版本的同学,我们也可以创建Python2和Python3两个环境,运行不同版本的Python代码。3、安装Anaconda:到官网下载指定版本的Anaconda:https://repo.anaconda.com/arc...我们下载了Anaconda3-5.2.0-Linux-x86_64.shwgethttps://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh安装前先安装bunzip2依赖包,否则后面会报错:bunzip2:commandnotfoundyuminstall-ybzip2运行这个脚本安装bashAnaconda3-5.2.0-Linux-x86_64.sh安装过程中会询问安装路径,默认回车即可,默认安装在/root/anaconda3目录下。有个地方问你是否把anaconda安装路径加入环境变量(.bashrc),输入yes,默认no,最后一步问你是否安装vscode,emm如果不需要就输入no,毕竟在服务器里面用的是vim编辑器,没必要再装一个。安装完成如下图:配置anaconda环境变量:默认安装在/root/anaconda3/下,如果没有请修改路径vim/etc/profile##AnacondaexportPATH=$PATH:/root/anaconda3/bintoload立即生效source/etc/profile注意:如果之前在服务器上编译安装过python,请重命名,否则系统会自动寻找之前编译好的python3环境,而不是使用Anaconda中的python环境。#注释掉python3.9环境mv/usr/local/python3.9//usr/local/python3.9_bak测试Anaconda安装是否正确:#检查python3的路径是否正确whichpython3#启动python3到查看环境是否正确python3如下图所示:至此Anaconda安装完成。conda自管理更新conda#更新anacondaconda更新conda更新anaconda元数据包#更新anaconda元数据包conda更新anaconda.condarc删除.condarc文件该文件默认不存在,只有执行condaconfig后才会自动创建命令。这个文件是conda的YAML格式的配置文件。比如可以设置安装包的通道,是否自动更新conda,是否允许其他通道等设置。4.Python环境管理#新建一个环境,并指定python解释器的版本,不自动下载#python27是环境名#python=2.7是要安装的包和版本,默认会找到latestversionin2.7.xforusVersion#anaconda是创建环境时要安装的包,这个可以不写condacreate-npython27python=2.7anacondacreate-npython36python=3.6condacreate-npython37python=3.7#更新Python,进入某个环境运行下面的命令会将当前环境的Python更新到最新的分支版本。比如目前是3.5,更新后会去最新的3.Xconda更新python5,虚拟环境管理查看当前托管的所有虚拟环境列表[root@linux121~]#condaenvlist#condaenvironments:#base*/root/anaconda3Createavirtualenvironment#创建一个名为myvenv的环境,并指定Python版本为3.10#(不用担心3.10.x,conda会自动帮我们找到3.10.x的最新版本)condacreate--namemyvenvpython=3.10virtual环境不会在当前环境创建虚拟环境目录。所有虚拟环境目录默认放在:/root/anaconda3/envs/activatevirtualenvironmentactivatemyvenv#forWindowssourceactivatemyvenv#forLinux&Maccondaactivatemyvenv#新版本用这个退出虚拟环境condadeactivate如图下图:Exportdependentpackages:导出环境,会导出当前环境下安装的包和版本号,方便你换台机器重新构建同样的环境。导出的内容包括环境名称、安装通道、本环境安装的包和版本号。#首先输入名为python36的环境condaactivatemyvenv#将当前环境导出到指定文件condaenvexport>environment.yml#通过环境文件创建环境,不需要指定环境名称,因为文件中包含名称字段condaenvcreate-f环境。ymldeletevirtualenvironment#方法一:condaenvremove--namemyvenv#方法二:condaremove-nmyvenv--allclone虚拟环境:condacreate-nmyvenv2--clonemyvenvclone如下图:6.包管理安装packagecondainstall--namemyvenvscipy#安装包到指定环境condainstallscipy#安装包到当前环境condainstallscipy=0.15.0#安装指定版本包到当前环境condainstallscipycurl#安装多个Packagecondainstall-canacondadjango#-c是指定的频道名,用于安装django的频道。卸载包:#卸载包condaremove包名#删除当前环境中的指定包condaremove-nmyvenvnumpy#删除指定环境中的指定包condaremove-nmyvenv--all#删除指定环境中的所有包,相当于删除环境更新包:condaupdatepackagename#更新当前环境中指定的包condaupdate-nmyvenvnumpy#更新指定环境中的指定包查看当前包:#查看当前安装的包condalistcondalist-nmyvenv#查看指定环境中安装的所有包如下图所示:查找可安装包:精确搜索condasearch--full-name#例如:condasearch--full-namepython模糊搜索:condasearchjieba#支持正则condasearch*py*7.镜像源管理conda默认使用官方镜像源,是国外的,安装下载会很慢,所以强烈建议切换到国内镜像源。查看当前镜像源配置#查看当前镜像源condaconfig--showchannels#查看详细信息condaconfig--show如下图:默认地址默认为官方地址,https://repo.anaconda.com/pkg...添加清华大学镜像源#添加Anaconda的TUNA镜像condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/#设置搜索时显示频道地址,这个可以省略,只是看conda是不是从镜像站下载的config--setshow_channel_urlsyes再次查看镜像地址:condaconfig--showchannels如下图;添加第三方镜像源:##CondaForgecondaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/##msys2condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/##biocondacondaconfig--添加频道https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/##menpocondaconfig--添加频道https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/##pytorchcondaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/其他镜像来源:清华大学其他镜像源地址:https://mirrors.tuna.tsinghua...删除镜像源condaconfig--removechannels##删除原来的旧镜像#如下condaconfig--removechannelsdefaultcondaconfig--removechannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig--removechannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/注意:如果你切换镜像源后,安装过程中报错:CondaHTTPError:HTTP000CONNECTIONFAILEDforurl1,先把镜像源地址从https换成http2,删除/root/.condarc中的-default即可解决问题.Condarc文件说明:file这个文件默认没有。只有在执行condaconfig命令后,该文件才会自动创建。它是YAML格式的conda配置文件。比如可以设置安装包的通道,是否自动更新conda,是否允许其他通道等设置。下面是我的配置文件说明。这些不是必需的。但是在国内建议设置频道,上面已经说了。所以一般情况下不需要关注这个文件。示例文件如下:/anaconda/pkgs/r-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels:conda-forge:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo:https://mirrors.tuna.tsinghua.edu。cn/anaconda/云pytorch:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud清除索引缓存:运行condaclean-i清除索引缓存,确保使用镜像站点提供的索引。condaclean-i8,当conda中没有这个包时:会报错,如下:PackagesNotFoundError:Thefollowingpackagesarenotavailablefromcurrentchannels:方法一:使用pip安装#安装不在的包conda或者acaconda,当你安装的包不在conda管理的范围内时,可以使用pip安装condainstallpip#先在当前环境安装pippipinstalljieba#其次,通过pip命令方法二:搜索包含安装包的频道anacondasearchjieba搜索如下图:选择其中一个版本,我们选择conda-forge/jieba模块,显示该版本信息anacondashowconda‐forge/jieba如下图所示,显示安装通道路径,找到对应的通道信息,如上最后一行所示,直接安装即可condainstall--channelhttps://conda.anaconda.org/conda-forgejieba如果一开始就知道自己想要这个通道模块,也可以直接这样安装:condainstall-cconda-forgejieba方法三:进入conda官网搜索包说明:对于无法通过conda安装或者无法从Anaconda.org获取的包,我们通常可以使用pip来安装包。pip只是一个包管理器,因此它无法为您管理环境。pip甚至无法升级python,因为它不像conda那样将python视为一个包。但是它可以安装一些conda无法安装的包。pip和conda都集成在Anaconda或miniconda中。另外也可以去官网搜索:https://anaconda.org/如下,找了很多渠道:找到安装路径:使用这个安装路径安装:condainstall-cconda-forgejieba方法四:去pypi下载安装包,如果手动安装下载太慢,可以去官网下载,下载jieba的安装包,然后解压到pkgs目录下,参考链接:https://www.pianshen.com/arti...官网链接:https://pypi.org/project/jieb...解压后,执行包中的setup.py文件即可也安装成功。wgethttps://files.pythonhosted.org/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gztarxfjieba-0.42.1.tar.gzmv4/anap2.kg/cd/0.root/anaconda3/pkgs/jieba-0.42.1/#如果要安装到指定的虚拟环境,需要先激活环境,然后执行installsourceactivatejob_recommendedpythonsetup.pyinstall如果没有进入虚拟环境安装过程中,可以在安装完成后,重新激活虚拟环境,重新安装,安装到虚拟环境中,如下,9.MinicondaMiniconda是Anaconda的轻量级替代品。它默认只包括python和conda,但可以通过pip和conda所需的包来安装。与Anaconda相比,Miniconda去掉了科学计算的相关包,更加轻量,不那么臃肿。它可以看作是Anaconda的一个最小化版本,其用法和Anaconda完全一样。Miniconda安装包可以在https://mirrors.tuna.tsinghua...下载。10、图形化界面管理Anaconda还提供了UI界面进行图形化管理。例如在Windows中,安装完成后,点击AnacondaNavigator如图:首页显示一些内置工具点击Environments,可以在这里进行环境管理操作。包括:创建虚拟环境,导入虚拟环境,进入虚拟环境,查看安装包创建虚拟环境myvenv搜索包安装:点击频道添加频道11.JupyterNotebookAnaconda自带JupyterNotebook,我们可以启动Jupyter直接记事本。window启动:Linux启动:jupyternotebook--allow-root注意默认不允许外部访问,需要配置远程访问支持:生成jupyter配置文件#root用户:jupyternotebook--generate-config--allow-root#非root用户jupyternotebook--generate-config如下图:修改配置vim/root/.jupyter/jupyter_notebook_config.py添加如下两行:c.NotebookApp.ip='*'c.NotebookApp.open_browser=虚假配置密码:jupyternotebook密码这里密码输入123456启动jupyternotebook:jupyternotebook--allow-root如下图:也可以后台启动:nohupjupyternotebook--allow-root>jupyter.log2>&1&打开网页访问:默认端口8888输入地址:(配置hosts映射)http://linux121:8888/输入密码123456登录如下图:里面的文件是我们创建之前启动jupyternotebook的当前目录下的内容一个新文件:输入python代码,点击run运行如下:importtime,sysforiinrange(8):print(i)time.sleep(0.5)如下图:12.优缺点分析:1.功能强大,并且还有一个UI界面。2、支持python2、python3及windows、linux、mac等平台。3.conda安装可以自动解决依赖。之前的pip可能没有安装所有的依赖包,导致依赖问题。4.Anaconda看起来有点笨重臃肿,不过可以换成轻量级的miniconda。5.conda安装软件需要解析依赖,默认连接国外镜像源,所以conda安装可能会很慢。6.包含大量的科学计算包,适合数据分析或者喜欢UI界面的人。