使用 Conda 进行备用 Python 安装

老实说:大多数时候,Linux 发行版中包含的 Python 版本并不是最新的。 为了 example,在撰写本文时,我们的 CentOS 7 VPS 服务器中包含的 Python 2 版本 Cloud images 是 2.7.5,Python 3 甚至没有开箱即用。 作为参考(同样,在撰写本文时),最新版本分别为 2.7.14 和 3.6.4。

如果您正在阅读本文,您可能已经有理由运行与所包含的版本不同的版本(尤其是在需要 3.x 时)。 但是,如果您偶然发现这篇文章,各种原因可能包括新功能、仅适用于特定版本的软件包或库等。

Enter 康达

虽然可以通过额外的 YUM 存储库或从源代码构建来安装 Python 的替代版本,但可以说最简单的方法是使用 conda。 另一个好处是它可以为每个用户安装(实际上,安装系统范围的 conda 需要一些额外的工作,因此本文不会涉及)。

Conda 可以被认为是包和环境管理器的混合体,除了与 pip 和 virtualenv 不同的是,它可以安装不同版本的 Python。 使用 conda,您可以根据需要轻松拥有运行 Python 2.7.5、2.7.14、3.5.2 和 3.6.4 的环境,所有这些都不需要 root 权限。

Anaconda 与 Miniconda

在我们开始之前,要提到的一件事是您不只是安装 conda 本身。 相反,您将安装可能类似于发行版的东西 – Anaconda 和 Miniconda 是两者。 我们将在本文中使用的 Miniconda 是准系统“发行版”。 安装程序的大小约为 56MB,并提供了基本的 conda 环境。

相比之下,Anaconda 不仅带有 conda 环境,还带有一套面向数据科学家的软件包(例如 pandas、numpy、jupyter notebook 等)。 它也明显更大,文档要求大约 3GB 的存储空间(仅安装程序就约 551MB)。

如果您将 Python 用于数据科学应用程序,则可以在安装 Miniconda 后安装它。 但实际上,Miniconda 和 Anaconda 的安装步骤几乎相同。 这是 Anaconda 安装程序的链接。

笔记:

我只想提一下,从这一点开始描述的步骤将针对一个新创建的具有完全托管 CentOS 7 映像的美国中央区域 C 2 GB VPS 实例进行。 我将使用一个名为 Conda 的用户。 也就是说,这些步骤应该可以在我们的任何 Storm 或专用托管产品上逐字重复。

我们走吧!

以您要安装 Conda 的用户身份连接后,我们需要下载 Miniconda 的安装程序。 这是 Miniconda 最新安装程序的链接。

$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

一旦我们下载了它,安装就很简单了:

$ bash Miniconda3-latest-Linux-x86_64.sh

它将要求审查并同意许可。 之后,它会要求确认默认位置(为此 example,它是 /home/conda/miniconda3) 或指定一个替代。 确认位置后,您会看到它安装了一些软件包(如果安装了 Anaconda,还会安装更多软件包)。

软件包安装完成后,它会询问您是否要将安装位置添加到 .bashrc 文件中的 PATH 环境变量中。 你很可能想要这样做。 不用担心,将创建一个备份。 就我而言,备份文件是 .bashrc-miniconda3.bak

现在安装已经完成并且PATH环境变量已经调整好了,你要么需要重新打开终端,要么运行以下命令:

$ source .bashrc

并确认事情应该是这样的:

$ python --version
Python 3.6.4 :: Anaconda, Inc.

显然,Python 的版本可能略有不同,但应该提到 Conda 或 Anaconda。

一些基本命令

更新康达

即使我们获取了最新的安装程序,通常仍然有可用的更新。 这是感受与 Conda 合作的好时机。

$ conda update conda

以下软件包将被更新:

conda: 4.4.10-py36_0 --> 4.4.11-py36_0
Proceed ([y]/n)? y

安装不同的基础 Python 版本

虽然安装程序附带了特定版本的 Python(在本例中为 3.6.4)作为基础,但您始终可以选择另一个版本。 让我们通过运行以下命令来看看可用的版本:

$ conda search python

这将返回相当多的版本供您选择。 需要注意的一点是,在这种情况下,python 被视为一个包。 此命令可用于搜索其他软件包的可用版本。

但是现在,让我们假设我们想要为我们的基础环境使用 Python 3.5.4:

$ conda install python=3.5.4

在显示需要进行的更改后,它会要求您确认。 完成后,您可以确认安装了正确版本的 Python,如上所示。 恭喜,您已经轻松安装了 Python 的替代版本,可供安装它的用户使用!

如果服务器上的其他用户需要系统提供的版本以外的版本,只需为他们重复该过程。