2.2.2 Conda
因为在后续学习过程中我们将多次用到Conda,所以有必要专门用一节来介绍它。
1.包的安装和管理
Conda对包的管理是通过命令行的方式实现的(Windows用户可以参考面向Windows的命令提示符教程),在终端键入conda install package_name命令即可安装。例如输入如下代码安装NumPy。
conda install numpy
我们可以同时安装多个包,使用类似conda install numpy scipy pandas的命令会同时安装所有包。我们还可以通过添加版本号(例如conda install numpy=1.10)来指定包版本。
Conda还会自动安装依赖项。例如,Scipy依赖于Numpy,如果只安装Scipy(使用conda install scipy命令),则Conda还会安装NumPy(在尚未安装的前提下)。
Conda的大多数命令都是很直观的。要卸载包,则使用conda remove package_name命令;要更新包,则使用conda update package_name命令;如果想更新环境中的所有包(这个操作很有用),则使用conda update -all命令;最后,要列出已安装的包,则使用前面提过的conda list命令。
如果不知道要找的包的确切名称,可以尝试使用conda search search_term命令进行搜索。例如,我想安装Beautiful Soup,但我不清楚包的具体名称,就可以尝试执行conda search beautifulsoup命令,查找结果如图2-5所示。
图2-5 通过Conda搜索beautifulsoup
Conda将所有的工具,包括第三方包都当作package(包)对待,因此Conda可以打破包管理与环境管理的约束,更高效地安装各种版本的Python以及各种package,并且切换起来也很方便。
2.环境管理
除了管理包之外,Conda还是虚拟环境管理器。环境能分隔用于不同项目的包,我们常常要使用依赖于某个库的不同版本的代码。例如,代码可能使用了NumPy中的新功能,或者使用了已被删除的旧功能,实际上,不可能同时安装两个NumPy版本。这时候我们要做的是为每个NumPy版本创建一个环境,然后在对应的环境中工作。这里再补充一下,每一个环境都是相互独立、互不干预的。
如果需要创建不同的运行环境,可以参考下面的说明。
创建代码运行环境 conda create -n basic_env python=3.7 #创建一个名为basic_env的环境 source activate basic_env #激活这个环境-Linux和macOS代码 activate basic_env #激活这个环境-Windows代码