1 简介
1.1 Anaconda
Python 具有数量庞大且功能完善的标准库和第三方库,通过对库的调用,能够实现对不同领域业务的开发。然而,正是由于库的数量庞大,对于管理这些库以及对库做及时的维护成为即重要,但又复杂度高的事情。
Anaconda 就是可以便捷获取库,且能够对库进行管理,同时对环境可以统一管理的 Python 发行版本。Anaconda 具有如下特点:1)开源;2)安装简单;3)高性能使用 Python 语言;4)免费的社区支持。
Anaconda 包含了 conda 和 Python 在内的众多科学包及其依赖项,包含超过 8000 个开源的数据科学和机器学习包。其特点的实现主要基于 Anaconda 拥有的:1)conda 包;2)环境管理器;3)大量开源库。
1.2 Conda
conda 是包及其依赖项和环境的管理工具,它用于在你的本地计算机中便捷地创建、保存、加载和切换环境,并可以快速安装、运行和升级包及其依赖项。只需少量命令就可以设置一个完全分离的环境,以运行不同版本的 Python。
默认配置下,conda 当前可以安装和管理超过 7500 个包,它们是由 Anaconda 在 repo.anaconda.com 中构建、检验和维护。
使用 conda 时,你不需要卸载其它的 Python 安装。即使你的系统已经有了其它来源的 Python,你也不需要在使用 conda 前卸载、移除或任何改变。正常安装 Anaconda,并让安装程序添加 conda 安装的 Python 到你的 PATH 环境变量,不需要查看 PYTHONPATH 环境变量。
查看是否 Conda 安装的 Python 在你的 PATH 变量中:
- 在 Windows 中,打开 Anaconda Prompt,并运行 echo %PATH%
- 在 Linux 和 macOS 中,打开 terminal,并运行 echo %PATH
查看哪个 Python 是当前使用的:
- 在 Windows 中,打开 Anaconda Prompt,并运行
where python
- 在 Linux 和 macOS 中,打开 terminal,并运行
which python
2 Anaconda 的安装
2.1 Windows 系统
在 Windows 系统中安装 Anaconda 可以到官网中(https://www.anaconda.com/)下载图形安装程序,例如 Anaconda3-2022.10-Windows-x86_64.exe。
双击安装程序进入图形安装界面,基本就是点击下一步、同意协议等等。在安装中可以选择安装路径,如下图所示。
如下图所示,在 Advanced Installation Options 面板中,建议不要勾选 "Add Anaconda3 to the system PATH environment variable"。因为如果勾选,可能会影响其他程序的使用。如果要使用 Anaconda,则通过打开 Anaconda Navigator 或 Anaconda Prompt 窗口来使用。
2.2 Linux 系统
可以在 Anaconda 的官网上下载 Linux 系统的安装包,例如 Anaconda3-2022.10-Linux-x86_64.sh。注意,下载到 Linux 系统后,要查看该文件是否有执行权限。
进入文件所在的路径,运行命令:
sh Anaconda3-2022.10-Linux-x86_64.sh
即可开始安装。安装过程中会出现一个输入安装路径的对话,可以选择自己想安装软件的位置。
3 Conda 的管理
安装完成后,在 Windows 系统中打开 Anaconda Prompt 窗口或者在 Linux、macOS 系统中打开 terminal 窗口,可使用 conda 命令来管理 Conda。
要验证 conda 是否安装,可使用命令 conda --version
,并查看安装的 conda 版本。此外,还可以使用命令 conda info 或者 conda -V
。
更新 conda 到当前版本,使用命令 conda update conda
。Conda 比较版本,并展示可获得的安装,如果一个新版本可获得,则输入 y
来更新:Proceed ([y]/n)?y
。
说明:
- 你可以缩写很多常用的、用两个短划线表示的命令参数,使用一个短划线和参数的首字母来表示。例如,参数 --name 写为
-n
,参数 --prefix 写为-p
,等等。为了表示清楚,本文的所有命令参数均不采用缩写形式。- 在后文的命令语句中,出现的符号意义表示为:
- ()表示必要的参数,
- | 表示只要其中一个,
- [] 表示可选的参数。
4 管理环境
当你开始使用 conda,你会已经有了一个默认环境,名叫 base。如果你不想在 base 环境中运行程序,则可以创建独立环境来运行程序,以从其它环境中隔离。
4.1 创建环境
使用命令 conda create 来创建环境,这个命令至少需要一个参数 --name 或者 --prefix,它的主要参数如下:
conda create (--name | --prefix) [package_spec [package_spec ...]]
- --name 参数是指定环境的名字
- --prefix 是创建环境位置的全路径
- package_spec 则是可选的安装包,也可以在创建完环境后再一个一个安装
conda 会检查需要的依赖包,并询问是否处理:Proceed ([y]/n)?
。你需要键入 y 或者 n。
当你创建一个新环境时,conda 会安装的 Python 版本,是和你安装 Anaconda 时的 Python 版本一致。如果你想使用一个不一样的 Python 版本,则再创建新环境时指定一个你想要的 Python 版本,例如 conda create --name env_name python=3.8
,则该命令会创建一个名为 env_name 的环境,环境中的 Python 版本是 3.8.x 的。
4.2 使用环境
要查看所有环境的列表,可以使用命令 conda info --envs
或者 conda env list
。
要使用某个环境,使用命令 conda activate env_name
。
退出当前环境到 base 中,使用命令 conda deactivate
。
4.3 搜索和安装包
要检查一个没有安装的包,是否可以从 Anaconda 获取,可以使用命令 conda search
(必须联网),例如 conda search itk
。Conda 会展示 Anaconda 仓库中所有和该包名有关的包的列表。
要安装一个包使用命令 conda install
,同样可以指定包的版本,例如 conda install itk==5.2.1
。
检查已安装的包,使用命令 conda list
。
4.4 移除包或环境
使用命令 conda remove
来移除指定的包或指定的环境,命令如下:
conda remove [--name] [--all] [package_name ...]
这个命令从指定的环境中删除指定的包。使用 --all
标志会移除所有包和环境本身。
这个命令也会移除依赖于指定包的包,除非这个包可以找到替代。