所谓工欲善其事必先利其器,在本章内容中我们将详细介绍如何从零开始安装配置机器学习算法的运行环境和开发环境。总体来讲本章内容可以分为两大部分: 一是不同操作系统平台下Python环境的安装和管理,另一个则是集成开发环境的安装和配置。下面我们分别开始进行介绍。

1.1 安装使用Conda#

作为在Python开发中一款优秀的包管理工具,Conda一直以来有着其独特的优势,尤其是在机器学习和深度学习的开发中。当我们需要区分和隔离不同版本或依赖的Python环境时,Conda工具便体现出了优势。

1.1.1 Conda介绍#

Conda是一个开源的包管理系统和环境管理系统,它主要用于安装和管理Python及其包和依赖项。它是构建机器学习和数据科学环境的利器,具有以下几个关键优势:

  • 跨平台:Conda可在Windows、macOS和Linux等多种操作系统上运行,提供了良好的跨平台兼容性。
  • 环境管理:Conda允许方便地创建独立的Python环境,并且每个环境拥有自己的包和依赖项,从而避免不同项目之间的包冲突。
  • 易于使用: Conda提供了命令行界面,使得Python环境的管理变得直观和简单。

在Python环境中我们可以通过两种方式来安装Conda工具。第1种是下载Anaconda [1] 进行安装,第2种则是下载Miniconda [2] 进行安装。Anaconda 和 Miniconda本质上都是基于Conda的软件包,Anaconda拓展自Miniconda,区别在于前者包含了更多的Python科学计算包,是一款商业软件,因此安装文件通常也比较大;而Miniconda则是一款开源且小巧的Conda软件包,我们可以根据实际需要来安装相应的Python软件。由于后续需要创建自己的虚拟环境,所以可以下载更加小巧的Miniconda(安装过程完全一样)。

下面是一些常用的Conda使用命令:

  • 创建名为py38且Python版本为3.8的Python环境

    1 conda create -n py38 python=3.8
  • 删除名为py38的虚拟环境

    1 conda env remove -n py38 
  • 激活环境py38环境

    1 conda activate py38
  • 退出当前Python环境

    1 conda deactivate
  • 列出当前所有的Python虚拟环境

    1 conda env list
  • 克隆当前环境

    1 conda create -n newpy38 --clone py38 
  • 对某个虚拟环境中的Python版本继续升级

    1 conda activate py38 # 先激活进入到虚拟环境py38
    2 conda install python==3.9 # 将Python版本从3.8升级到3.9

1.1.2 Windows环境#

1. Conda安装

首先在官网 [2]下载最新版Windows平台下的Miniconda3安装包,然后按照如下安装步骤进行即可。

①安装Miniconda

双击扩展名为.exe的安装包进行安装,如果后续无特殊说明,保持默认安装项并直接单击Next按钮即可,如图1-1所示。

图1-1 Miniconda安装界面图

②指定安装目录

在安装过程中还可以自定义安装路径,但一般情况下保持默认安装路径即可,如图1-2所示。

图1-2 Miniconda安装路径界面图

③高级设置

当安装过程执行到这一步时,保持默认直接单击Install按钮即可,如图1-3所示。

图 1-3 高级设置界面图

④安装完成

安装完成后,单击Finish按钮,如图1-4所示。接下来可以通过打开命令行,然后输入相关命令来测试是否安装成功。

图 1-4 Miniconda安装完成界面图

⑤验证

当完成上述安装后,便可以在“开始”菜单栏中找到Anaconda Prompt(Miniconda)命令行终端,单击此命令行终端,打开后输入conda -V命令,如果出现相关版本信息则表示安装成功,如图1-5所示。

图 1-5 验证Miniconda安装图

同时,根据图1-5所示在完成Miniconda安装以后会有一个默认名为的base的Python环境。

⑥替换源

在安装完成Miniconda后,这里需要将默认的Conda源替换成清华大学对应的镜像源。我们直接在图1-5所示的界面中继续输入如下两行命令即可。

1 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
2 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

2. Python环境安装

在完成Conda包管理器的安装以后,我们根据第1.1.1节中的conda create -n py38 python=3.8命令新建一个名为py38的Python虚拟环境,如图1-6所示。

图 1-6 Python虚拟环境安装图

从图1-6可以看出,新建py38这一虚拟环境时所使用到的Conda源便是我们上面添加的清华Conda源。同时,py38这个虚拟环境的保存路径为C:\Users\wangcheng\miniconda3\envs\py38目录。值得一提的是,对于每个Python虚拟环境来说,通过pip install命令安装的Python包及其安装文件都在虚拟环境下的lib\python3.x\site-packages中,知道该路径便于在需要时查找源码。例如对于py38这个虚拟环境来说,安装文件均在C:\Users\wangcheng\miniconda3\envs\py38\lib\python3.8\site-packages里面。

进一步,在安装完成以后我们便可以通过命令conda activate py38来激活我们新建的Python环境,如图1-7所示。

图 1-7 Python虚拟环境查看图

如图1-7所示,我们激活py38这个虚拟环境以后命令行最前面的(base)已经变成了(py38),而这也是一个有效分别当前终端中所使用Python环境的方法。同时,我们通过conda env list命令也列出了当前Conda中所存在的所有虚拟环境。

最后,我们同样需要将py38这个Python虚拟环境对应的pip源切换为相应的清华镜像源,直接在图1-7所示的界面输入如下命令即可。

1 pip config set global.index-URL https://pypi.tuna.tsinghua.edu.cn/simple

当然,如果只是临时使用某个pip源,则可以用如下方式进行Python包的安装:

1 pip install -i http://mirrors.aliyun.com/pypi/simple numpy

这样,基于Windows操作系统的Python环境就安装好了。

1.1.3 Linux环境#

1. Conda安装

首先同样去官网 [2]查找最版本Linux环境下的安装文件地址,然后在Linux主机上通过如下命令进行下载。

1 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

在完成下载后我们将会得到一个名为Miniconda3-latest-Linux-x86_64.sh的安装包。进一步,我们通过命令bash Miniconda3-latest-Linux-x86_64.sh进行安装,如图1-8所示。

图 1-8 Miniconda安装界面图

在进入图1-8所示界面以后,我们点击“回车键”进入下一步,如图1-9所示。

图 1-9 Miniconda安装条款图

如图1-9所示,此时敲击键盘"q"键退出条款,并在后续输入“yes”敲击“回车键“接受条款进入下一步,如图1-10所示。

图 1-10 Miniconda安装路径选择图

如图1-10所示,我们可以指定Miniconda的安装路径,这里我们直接敲击“回车键”使用默认路径即可,同时进入下一步如图1-11所示。

图 1-11 Miniconda默认设置图

这里提示我们是否要在登录主机以后自动为我们激活默认的Python环境,即base环境,我们选择“yes”直接敲击“回车键”完成最后的安装。

在完成安装以后,我们重新登录Linux主机便可以开始使用Conda管理环境,如图1-12所示。

图 1-12 验证Miniconda图

根据图1-12所示,我们已经成功完成了Conda工具的安装,验证结果也同图1-5中一致。

但如果此时出现conda: command not found提示,则可试着执行命令source ~/.bashrc,然后执行测试命令。在这之后如果依旧提示找不到conda命令,则可试试通过如下两行命令手动添加环境变量:

1 echo 'export PATH="/root/miniconda3/bin:$PATH"' >> ~/.bashrc
2 source ~/.bashrc

然后执行图1-7中的测试命令便能看到正确的版本提示信息了。同时需要注意的是,上述命令中PATH后的路径是图1-10中所指定的安装路径,需要根据自己的实际情况确定。

最后,我们同样可以根据需要(建议切换)来替换Conda源、创建对应的Python虚拟环境以及替换对应的pip源,过程同第1.1.2节内容一致这里就不再赘述。

2. Python安装

在安装完成Conda以后,我们可以开始创建新的Python虚拟环境,这里以Python 3.9的版本为例。首先,我们继续通过命令conda create -n py39 python=3.9来创建一个Python环境。等待上述过程安装完毕以后,我们切换pip的安装源:

1 pip config set global.index-URL https://pypi.tuna.tsinghua.edu.cn/simple

最后,我们可以通过如下命令进入到新的Python环境:

1 conda activate py39
2 python -V  # Python 3.9.18

1.1.4 本书环境#

对于任何一个Python环境来说,它都有对应的依赖包及其相关的版本依赖关系。在Python环境中,通常我们会将一个项目所依赖的包名和版本导出到一个固定的文件中,以便让其他使用的人能够根据这个文件重新安装对应的环境。

1. 环境依赖

在进入待导出的Python虚拟环境以后,我们可以通过如下命令来导出:

1 pip freeze > requirements.txt

执行完上述命令后,在当前目录下将会生成一个名为requirements.txt的文件,内容类似如下所示:

numpy           1.26.4
packaging       24.0
pandas          2.2.1
pillow          10.2.0

在这个文件中,每一行指定了一个Python包的名称以及其对应的版本号。这里需要注意的是,requirements.txt只是一个约定俗成的名字,可以是其它任意名称。

进一步,我们只需要通过如下命令便可以完成requirements.txt中所有Python包的安装过程:

pip install -r requirements.txt

2. 环境安装

本书所有的算法内容及相关图示均提供有完整的示例代码,同时对于整个工程中的代码来说,各位读者可以先创建一个名为MLWM且Python版本为3.11的虚拟环境,然后通过命令conda activate MLWM命令进入到该环境中,最后根据代码工程 `AllBookCode目录下的requirements.txt文件来完成机器学习环境的安装。

(MLWM)[root@moon ~]$ pip install -r requirements.txt

Installing collected packages: pytz, jieba, tzdata, threadpoolctl, six, pyparsing, pillow, packaging, numpy, kiwisolver, joblib, graphviz, fonttools, cycler, scipy, python-dateutil, contourpy, scikit-learn, pandas, matplotlib, wordcloud

Successfully installed contourpy-1.2.0 cycler-0.12.1 fonttools-4.50.0 graphviz-0.20.3 jieba-0.42.1 joblib-1.3.2 kiwisolver-1.4.5 matplotlib-3.8.3 numpy-1.26.4 packaging-24.0 pandas-2.2.1 pillow-10.2.0 pyparsing-3.1.2 python-dateutil-2.9.0.post0 pytz-2024.1 scikit-learn-1.4.1.post1 scipy-1.12.0 six-1.16.0 threadpoolctl-3.4.0 tzdata-2024.1 wordcloud-1.9.3

从上述输出结果可以看出,我们这里一共完成了24个Python包的安装。在安装完成以后,我们还可以通过pip list命令列出当前Python环境中安装好的Python包:

(MLWM)[root@moon ~]$ pip list
Package         Version
--------------- -----------
contourpy       1.2.0
cycler          0.12.1
fonttools       4.50.0
graphviz        0.20.3
jieba           0.42.1
joblib          1.3.2
kiwisolver      1.4.5
matplotlib      3.8.3
numpy           1.26.4
packaging       24.0
pandas          2.2.1
pillow          10.2.0
pip             23.3.1
pyparsing       3.1.2
python-dateutil 2.9.0.post0
pytz            2024.1
scikit-learn    1.4.1.post1
scipy           1.12.0
setuptools      68.2.2
six             1.16.0
threadpoolctl   3.4.0
tzdata          2024.1
wheel           0.41.2
wordcloud       1.9.3

1.1.5 小结#

在本节内容中,我们首先介绍了Conda这一Python包管理工具以及常见的几个使用命令;然后分别介绍了Windows环境和Linux环境下Conda工具的安装过程以及Python虚拟环境的安装和管理;最后,我们以本书中的Python运行环境为例来再次详细介绍了整个安装过程。在下一节内容中我们将开始介绍如何安装高效的Python集成开发环境。