Anaconda安装+环境管理+包管理+实际演练例子(全网最详细)

目录

一、什么是Anaconda?

二、Anaconda的适用平台及安装条件

三、Anaconda的安装步骤

*四、管理conda

*五、管理环境

*六、管理虚拟环境中的包

         **七、实际演练(例子)


一、什么是Anaconda?

1. 简介

Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

2. Anaconda、conda、pip、virtualenv的区别

① Anaconda

Anaconda是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。

② conda

conda是包及其依赖项和环境的管理工具。

▪ 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

▪ 适用平台:Windows, macOS, Linux

▪ 用途:

① 快速安装、运行和升级包及其依赖项。

② 在计算机中便捷地创建、保存、加载和切换环境。

如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。—— Conda官方网站

▪ conda为Python项目而创造,但可适用于上述的多种语言。

▪ conda包和环境管理器包含于Anaconda的所有版本当中。

③ pip

pip是用于安装和管理软件包的包管理器。

▪ pip编写语言:Python。

▪ Python中默认安装的版本:

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

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

▪ pip名称的由来:pip采用的是递归缩写进行命名的。其名字被普遍认为来源于2处:

① “Pip installs Packages”(“pip安装包”)

② “Pip installs Python”(“pip安装Python”)

④ virtualenv

virtualenv是用于创建一个独立的Python环境的工具。

▪ 解决问题:

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

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

⑤ pip 与 conda 比较

→ 依赖项检查

▪ pip:

① 不一定会展示所需其他依赖包。

② 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。

▪ conda:

① 列出所需其他依赖包。

② 安装包时自动安装其依赖项。

③ 可以便捷地在包的不同版本中自由切换。

→ 环境管理

▪ pip:维护多个环境难度较大。

▪ conda:比较方便地在不同环境之间进行切换,环境管理较为简单。

→ 对系统自带Python的影响

▪ pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。

▪ conda:不会影响系统自带Python。

→ 适用语言

▪ pip:仅适用于Python。

▪ conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

⑥ conda与pip、virtualenv的关系

▪ conda结合了pip和virtualenv的功能。

二、Anaconda的适用平台及安装条件

1. 适用平台

Anaconda可以在以下系统平台中安装和使用:

▪ Windows

▪ macOS

▪ Linux(x86 / Power8)

2. 安装条件

▪ 系统要求:32位或64位系统均可

▪ 下载文件大小:约500MB

▪ 所需空间大小:3GB空间大小(Miniconda仅需400MB空间即可)

三、Anaconda的安装步骤

Windows系统安装Anaconda

1. 前往官方下载页面下载。有两个版本可供选择:Python 3.6 和 Python 2.7,选择版之后根据自己操作系统的情况点击“64-Bit Graphical Installer”或“32-Bit Graphical Installer”进行下载。

2. 完成下载之后,双击下载文件,启动安装程序。

  • 注意:

① 如果在安装过程中遇到任何问题,那么暂时地关闭杀毒软件,并在安装程序完成之后再打开。

② 如果在安装时选择了“为所有用户安装”,则卸载Anaconda然后重新安装,只为“我这个用户”安装。

3. 选择“Next”。

4. 阅读许可证协议条款,然后勾选“I Agree”并进行下一步。

5. 除非是以管理员身份为所有用户安装,否则仅勾选“Just Me”并点击“Next”。

6. 在“Choose Install Location”界面中选择安装Anaconda的目标路径,然后点击“Next”。

  • 注意:

① 目标路径中不能含有空格,同时不能是“unicode”编码。

② 除非被要求以管理员权限安装,否则不要以管理员身份安装。

7. 在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的环境变量。”)。因为如果勾选,则将会影响其他程序的使用。如果使用Anaconda,则通过打开Anaconda Navigator或者在开始菜单中的“Anaconda Prompt”(类似macOS中的“终端”)中进行使用。

除非你打算使用多个版本的Anaconda或者多个版本的Python,否则便勾选“Register Anaconda as my default Python 3.6”。

然后点击“Install”开始安装。如果想要查看安装细节,则可以点击“Show Details”。

8. 点击“Next”。

9. 进入“Thanks for installing Anaconda!”界面则意味着安装成功,点击“Finish”完成安装。

  • 注意:如果你不想了解“Anaconda云”和“Anaconda支持”,则可以不勾选“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。

10. 验证安装结果。可选以下任意方法:

① “开始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功启动Anaconda Navigator则说明安装成功。

② “开始 → Anaconda3(64-bit)→ 右键点击Anaconda Prompt → 以管理员身份运行”,在Anaconda Prompt中输入 conda list ,可以查看已经安装的包名和版本号。若结果可以正常显示,则说明安装成功。

四、管理conda

0. 写在前面

接下来均是以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”

1. 验证conda已被安装

conda --version

终端上将会以 conda 版本号 的形式显示当前安装conda的版本号。如: conda 3.11.0

  • 注意:如果出现错误信息,则需核实是否出现以下情况:

① 使用的用户是否是安装Anaconda时的账户。

② 是否在安装Anaconda之后重启了终端。

2. 更新conda至最新版本

conda update conda

执行命令后,conda将会对版本进行比较并列出可以升级的版本。同时,也会告知用户其他相关包也会升级到相应版本。

当较新的版本可以用于升级时,终端会显示 Proceed ([y]/n)? ,此时输入 y 即可进行升级。

3. 查看conda帮助信息

conda --help

conda -h

4. 卸载conda

① Linux 或 macOS

rm -rf ~/anaconda2

rm -rf ~/anaconda3

即删除Anaconda的安装目录。根据安装的Anaconda版本选择相应的卸载命令。

② Windows

控制面板 → 添加或删除程序 → 选择“Python X.X (Anaconda)” → 点击“删除程序”
  • 注意:

① Python X.X:即Python的版本,如:Python 3.6。

② Windows 10的删除有所不同。

五、管理环境

0. 写在前面

接下来均是以命令行模式进行介绍,Windows用户请打开“Anaconda Prompt”;macOS和Linux用户请打开“Terminal”(“终端”)进行操作。

1. 创建新环境

conda create --name <env_name> <package_names>
  • 注意:

▫ <env_name> 即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。

▫ <package_names> 即安装在环境中的包名。名称两边不加尖括号“<>”。

① 如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如: conda create --name python2 python=2.7 ,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。

② 如果要在新创建的环境中创建多个包,则直接在 <package_names> 后以空格隔开,添加多个包名即可。如: conda create -n python3 python=3.5 numpy pandas ,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。

▫ --name 同样可以替换为 -n 。

  • 提示:默认情况下,新创建的环境将会被保存在 /Users/<user_name>/anaconda3/env 目录下,其中, <user_name> 为当前用户的用户名。

2. 切换环境

 Windows

activate <env_name>

 提示

  1. 如果创建环境后安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。
  2. 当成功切换环境之后,在该行行首将以“(env_name)”或“[env_name]”开头。其中,“env_name”为切换到的环境名。如:

 

3. 退出环境至root

 Windows

conda deactivate

提示

当执行退出当前环境,回到root环境命令后,原本行首以“(env_name)”或“[env_name]”开头的字符将不再显示。

4. 显示已创建环境

conda info --envs

conda info -e

conda env list
  • 例如:

结果中星号“*”所在行即为当前所在环境。Windows系统中默认创建的环境名为“base”。

 

5. 复制环境

conda create --name <new_env_name> --clone <copied_env_name>
  • 注意:

 <copied_env_name> 即为被复制/克隆环境名。环境名两边不加尖括号“<>”。

 <new_env_name> 即为复制之后新环境的名称。环境名两边不加尖括号“<>”。

 conda create --name py2 --clone python2 ,即为克隆名为“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同。

6. 删除环境

conda remove --name <env_name> --all
  • 注意: <env_name> 为被删除环境的名称。环境名两边不加尖括号“<>”。

六、管理虚拟环境中的包

1. 查找可供安装的包版本

① 精确查找

conda search --full-name <package_full_name>
  • 注意:

 --full-name 为精确查找的参数。

 <package_full_name> 是被查找包的全名。包名两边不加尖括号“<>”。

  • 例如: conda search --full-name python 即查找全名为“python”的包有哪些版本可供安装。

② 模糊查找

conda search <text>
  • 注意: <text> 是查找含有此字段的包名。此字段两边不加尖括号“<>”。
  • 例如: conda search py 即查找含有“py”字段的包,有哪些版本可供安装。

2. 获取当前环境中已安装的包信息

conda list 或 pip list

执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。

3. 安装包

① 在指定环境中安装包

conda install --name <env_name> <package_name>
  • 注意:

① <env_name> 即将包安装的指定环境名。环境名两边不加尖括号“<>”。

② <package_name> 即要安装的包名。包名两边不加尖括号“<>”。

  • 例如: conda install --name python2 pandas 即在名为“python2”的环境中安装pandas包。

② 在当前环境中安装包

conda install <package_name>
  • 注意:

 <package_name> 即要安装的包名。包名两边不加尖括号“<>”。

② 执行命令后在当前环境中安装包。

  • 例如: conda install pandas 即在当前环境中安装pandas包。

③ 使用pip安装包

→ 使用场景

当使用 conda install 无法进行安装时,可以使用pip进行安装。例如:pyqt5包。

解决方法:

→命令

pip install <package_name>
  • 注意: <package_name> 为指定安装包的名称。包名两边不加尖括号“<>”。
  • 如: pip install pyqt5 即安装pyqt5包。

→ 注意

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

4. 卸载包

① 卸载指定环境中的包

conda remove --name <env_name> <package_name>
  • 注意:

① <env_name> 即卸载包所在指定环境的名称。环境名两边不加尖括号“<>”。

 <package_name> 即要卸载包的名称。包名两边不加尖括号“<>”。

  • 例如: conda remove --name python2 pandas 即卸载名为“python2”中的pandas包。

② 卸载当前环境中的包

conda remove <package_name>
  • 注意:

 <package_name> 即要卸载包的名称。包名两边不加尖括号“<>”。

② 执行命令后即在当前环境中卸载指定包。

  • 例如: conda remove pandas 即在当前环境中卸载pandas包。

5. 更新包

① 更新所有包

conda update --all

conda upgrade --all
  • 建议:在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用。

② 更新指定包

conda update <package_name>

conda upgrade <package_name>
  • 注意:

 <package_name> 为指定更新的包名。包名两边不加尖括号“<>”。

② 更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。

七、实际演练(例子)

实践内容:想要在一个已有或者新建的虚拟环境中安装pyqt5。

1.新建虚拟环境情况操作(如果已经有虚拟环境了,可以跳过第一步):打开Anaconda Prompt,输入

conda create --name new-envs python=2.7

最后会出现表示新建成功。

2.查看所有的虚拟环境(这一步是为了防止你的虚拟环境名太长不好记,可以到时候直接复制名字,方便跳转环境)

输入

conda info --envs

 3.进入new-envs虚拟环境中

输入:

activate new-envs

4.首先尝试用conda 安装pyqt5包

输入:

conda install pyqt5

 显示安装失败,conda中没有pyqt5。因此我们需要用pip在new-envs环境中安装pyqt5包。

 5.用pip安装pyqt5包(由于现在已经在new-envs这个虚拟环境中因此不需要跳转虚拟环境,否则我们需要先跳转到我们想要安装的环境中)

输入:

pip install pyqt5

code_001 | [图片读取与显示](python/code_001/opencv_001.py) | ✔️ code_002 | [图片灰度化](python/code_002/opencv_002.py) | ✔️ code_003 | [图像创建与赋值](python/code_003/opencv_003.py) | ✔️ code_004 | [图像像素读写](python/code_004/opencv_004.py) | ✔️ code_005 | [图像像素算术操作(加减乘除)](python/code_005/opencv_005.py) | ✔️ code_006 | [图像伪彩色增强](python/code_006/opencv_006.py) | ✔️ code_007 | [图像像素操作(逻辑操作)](python/code_007/opencv_007.py) | ✔️ code_008 | [图像通道分离合并](python/code_008/opencv_008.py) | ✔️ code_009 | [色彩空间与色彩空间转换](python/code_009/opencv_009.py) | ✏️ code_010 | [图像像素值统计](python/code_010/opencv_010.py) | ✔️ code_011 | [图像像素归一化](python/code_011/opencv_011.py) | ✔️ code_012 | [视频读写](python/code_012/opencv_012.py) | ✔️ code_013 | [图像翻转](python/code_013/opencv_013.py) | ✔️ code_014 | [图像插值](python/code_014/opencv_014.py) | ✔️ code_015 | [绘制几何形状](python/code_015/opencv_015.py) | ✔️ code_016 | [图像ROI与ROI操作](python/code_016/opencv_016.py) | ✔️ code_017 | [图像直方图](python/code_017/opencv_017.py) | ✔️ code_018 | [图像直方图均衡化](python/code_018/opencv_018.py) | ✏️ code_019 | [图像直方图比较](python/code_019/opencv_019.py) | ✔️ code_020 | [图像直方图反向投影](python/code_020/opencv_020.py) | ✔️ code_021 | [图像卷积操作](python/code_021/opencv_021.py) | ✔️ code_022 | [图像均值与高斯模糊](python/code_022/opencv_022.py) | ❣️ code_023 | [中值模糊](python/code_023/opencv_023.py) | ✔️ code_024 | [图像噪声](python/code_024/opencv_024.py) | ✔️ code_025 | [图像去噪声](python/code_025/opencv_025.py) | ✔️ code_026 | [高斯双边模糊](python/code_026/opencv_026.py) | ✔️ code_027 | [均值迁移模糊(mean-shift blur)](python/code_027/opencv_027.py) | ✔️ code_028 | [图像积分图算法](python/code_028/opencv_028.py) | ✔️ code_029 | [快速的图像边缘滤波算法](python/code_029/opencv_029.py) | ✔️ code_030 | [自定义滤波器](python/code_030/opencv_030.py) | ✔️ code_031 | [Sobel算子](python/code_031/opencv_031.py) | ✔️ code_032 | [更多梯度算子](python/code_032/opencv_032.py) | ✔️ code_033 | [拉普拉斯算子(二阶导数算子)](python/code_033/opencv_033.py) | ✔️ code_034 | [图像锐化](python/code_034/opencv_034.py) | ✔️ code_035 | [USM 锐化增强算法](python/code_035/opencv_035.py) | ✔️ code_036 | [Canny边缘检测器](python/code_036/opencv_036.py) | ❣️ code_037 | [图像金字塔](python/code_037/opencv_037.py) | ✔️ code_038 | [拉普拉斯金字塔](python/code_038/opencv_038.py) | ✔️ code_039 | [图像模板匹配](python/code_039/opencv_039.py) | ✔️ code_040 | [二值图像介绍](python/code_040/opencv_040.py) | ✔️ code_041 | [基本阈值操作](python/code_041/opencv_041.py) | ✔️ code_042 | [图像二值寻找法OTSU](python/code_042/opencv_042.py) | ✏️ code_043 | [图像二值寻找法TRIANGLE](python/code_043/opencv_043.py) | ✔️ code_044 | [图像自适应阈值算法](python/code_044/opencv_044.py) | ✏️ code_045 | [图像二值与去噪](python/code_045/opencv_045.py) | ✏️ code_046 | [图像连通组件寻找](python/code_046/opencv_046.py) | ✔️ code_047 | [图像连通组件状态统计](python/code_047/opencv_047.py) | ✔️ code_048 | [轮廓寻找](python/code_048/opencv_048.py) | ❣️ code_049 | [轮廓外接矩形](python/code_049/opencv_049.py) | ❣️ code_050 | [轮廓矩形面积与弧长](python/code_050/opencv_050.py) | ✏️ code_051 | [轮廓逼近](python/code_051/opencv_051.py) | ✔️ code_052 | [几何矩计算中心](python/code_052/opencv_052.py) | ✔️ code_053 | [使用Hu矩阵实现轮廓匹配](python/code_053/opencv_053.py) | ✔️ code_054 | [轮廓圆与椭圆拟合](python/code_054/opencv_054.py) | ✔️ code_055 | [凸检测](python/code_055/opencv_055.py) | ✏️ code_056 | [直线拟合与极值点寻找](python/code_056/opencv_056.py) | ✔️ code_057 | [点多边形测试](python/code_057/opencv_057.py) | ✔️ code_058 | [寻找最大内接圆](python/code_058/opencv_058.py) | ✔️ code_059 | [霍夫曼直线检测](python/code_059/opencv_059.py) | ✔️ code_060 | [概率霍夫曼直线检测](python/code_060/opencv_060.py) | ❣️ code_061 | [霍夫曼圆检测](python/code_061/opencv_061.py) | ❣️ code_062 | [膨胀和腐蚀](python/code_062/opencv_062.py) | ❣️ code_063 | [结构元素](python/code_063/opencv_063.py) | ✔️ code_064 | [开运算](python/code_064/opencv_064.py) | ✏️ code_065 | [闭运算](python/code_065/opencv_065.py) | ✏️ code_066 | [开闭运算的应用](python/code_066/opencv_066.py) | ✏️ code_067 | [顶帽](python/code_067/opencv_067.py) | ✔️ code_068 | [黑帽](python/code_068/opencv_068.py) | ✔️ code_069 | [图像梯度](python/code_069/opencv_069.py) | ✔️ code_070 | [基于梯度的轮廓发现](python/code_070/opencv_070.py) | ✏️ code_071 | [击中击不中](python/code_071/opencv_071.py) | ✔️ code_072 | [缺陷检测1](python/code_072) | ✔️ code_073 | [缺陷检测2](python/code_073/opencv_073.py) | ✔️ code_074 | [提取最大轮廓和编码关键点](python/code_074) | ✔️ code_075 | [图像修复](python/code_075/opencv_075.py) | ✔️ code_076 | [图像透视变换应用](python/code_076/opencv_076.py) | ✏️ code_077 | [视频读写和处理](python/code_077/opencv_077.py) | ✏️ code_078 | [识别与跟踪视频中的特定颜色对象](python/code_078) | ✔️ code_079 | [视频分析-背景/前景 提取](python/code_079/opencv_079.py) | ✔️ code_080 | [视频分析–背景消除与前景ROI提取](python/code_080) | ✔️ code_081 | [角点检测-Harris角点检测](python/code_081) | ✔️ code_082 | [角点检测-Shi-Tomas角点检测](python/code_082) | ✏️ code_083 | [角点检测-亚像素角点检测](python/code_083) | ✔️ code_084 | [视频分析-KLT光流跟踪算法-1](python/code_084) | ✏️ code_085 | [视频分析-KLT光流跟踪算法-2](python/code_085) | ✏️ code_086 | [视频分析-稠密光流分析](python/code_086) | ✏️ code_087 | [视频分析-帧差移动对象分析](python/code_087/opencv_087.py) | ✔️ code_088 | [视频分析-均值迁移](python/code_088) | ✏️ code_089 | [视频分析-连续自适应均值迁移](python/code_089) | ✏️ code_090 | [视频分析-对象移动轨迹绘制](python/code_090) | ✔️ code_091 | [对象检测-HAAR级联分类器](python/code_091) | ✔️ code_092 | [对象检测-HAAR特征分析](python/code_092) | ✔️ code_093 | [对象检测-LBP特征分析](python/code_093/opencv_093.py) | ✔️ code_094 | [ORB 特征关键点检测](python/code_094) | ✏️ code_095 | [ORB 特征描述子匹配](python/code_095) | ✔️ code_096 | [多种描述子匹配方法](python/code_096) | ✏️ code_097 | [基于描述子匹配的已知对象定位](python/code_097) | ✏️ code_098 | [SIFT 特征关键点检测](python/code_097) | ✔️ code_099 | [SIFT 特征描述子匹配](python/code_097) | ✔️ code_100 | [HOG 行人检测](python/code_100/opencv_100.py) | ✔️ code_101 | [HOG 多尺度检测](python/code_101/opencv_101.py) | ✏️ code_102 | [HOG 提取描述子](python/code_102/opencv_102.py) | ✔️ code_103 | [HOG 使用描述子生成样本数据](python/code_103/opencv_103.py) | ✔️ code_104 | [(检测案例)-HOG+SVM 训练](python/code_104/opencv_104.py) | ✔️ code_105 | [(检测案例)-HOG+SVM 预测](python/code_105/opencv_105.py) | ✔️ code_106 | [AKAZE 特征与描述子](python/code_106) | ✔️ code_107 | [Brisk 特征与描述子](python/code_107) | ✔️ code_108 | [GFTT关键点检测](python/code_108) | ✔️ code_109 | [BLOB 特征分析](python/code_109) | ✔️
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrRoose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值