金钱(警告)
状态: 被剥夺
本文涵盖了不再受支持的 CentOS 版本. 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议升级或迁移到受支持的 CentOS 版本。
理由: CentOS 6 已于 2020 年 11 月 30 日到期(EOL)并且不再收到安全补丁或更新。
** 参见相反**: 本指南可能仍然有用作为参考,但可能不适用于其他 CentOS 版本. 如果可用,我们强烈建议使用为您使用的 CentOS 版本撰写的指南。
下面的教程可能有趣,因为它描述了如何在CentOS 7服务器上安装Python 3,以及pip
和virtualenv
:
美元
介绍
更常见的是,作为开发人员,您将负责管理您的应用程序在一定程度上运行的服务器(服务器)。
然而,当你开始使用CentOS时,你会惊讶地发现Python仍然处于版本2.6(甚至2.4.3)的状态,并且不应该被部署的应用程序使用,无论它是为系统使用而保留的。
在这篇DigitalOcean文章中,我们将讨论下载和设置Python(2.7.6 和 3.3.3)而不打破系统的默认值 2.6 (或 2.4) 非常重要,因为YUM 等关键系统工具取决于它。
完成后,您将能够在 CentOS 6.4 或 5.8 VPS 上同时使用 Python 版本,创建和使用虚拟环境,并为每个版本下载和管理 Python 包。
CentOS及其设计选择
在我们开始安装之前,让我们谈谈 CentOS。
为什么 CentOS 会搭载旧版本的应用程序?**
CentOS源自RHEL(Red Hat Enterprise Linux)。这两个发行版的目标客户端由企业组成,这些客户端需要系统在多年内以最稳定的方式运行。
因此,这里的主要原因是对系统的 stability 欲望,通过提供经过测试和更稳定的应用程序版本来实现。
为什么需要单独安装部署库/应用程序?
默认情况下,CentOS不包含许多工具,而提供的工具是系统应用程序(例如 YUM)使用的。在更改或修改它们或它们的依赖之前,必须非常小心,如果你想让你的系统运行顺利而不会破坏任何东西,无论是现在还是将来。
不要假设与操作系统交付的工具是为您使用的,并开始习惯于自行设置所有您需要的工具。
使用这个简单的教程,你将能够使用任何版本的Python,它也将教你如何安装几乎任何其他应用程序 - 从源 - 也。
准备系统并安装Python
像你会遇到的许多其他应用程序一样,在CentOS上安装Python包括几个(简单)步骤,从更新系统开始,然后实际上获得Python的任何版本,并继续进行设置过程。
** 请记住:** 您可以通过查看 Releases页面查看所有可用的 Python 版本。
注:本指南应适用于 CentOS 版本 6.5 以及 5.8 和 6.4。
更新默认 CentOS 应用程序
在我们开始安装之前,让我们确保更新默认系统应用程序以获得最新的版本。
** 运行以下命令 update 系统应用程序:**
1yum -y update
准备开发设施的系统
CentOS 发行版很瘦,也许有点太瘦,这意味着它们没有提供您可能需要的许多流行的应用程序和工具。
然而,对于我们的安装,我们将需要一些库和工具(即 development [related] tools)不是默认交付的,因此,我们需要在继续之前下载和安装它们。
有两种方法可以使用包管理器 yum在您的系统上获取开发工具:
** 选项 #1**(不建议)包括下载这些工具(例如, make, gcc 等) one-by-one. 其次是尝试开发一些东西,很可能在中途出现错误 - 因为你会忘记另一个包,所以你会重新切换到下载。
建议和明智的方式来做到这一点是按照 ** 选项 #2**:简单地通过使用 yum 软件组单个命令下载一堆工具。
YUM 软件集团
YUM 软件组由一组常用的工具(应用程序)组成,可同时下载,通过执行单个命令并指定 group name. 使用 YUM,您甚至可以一起下载多个组。
对于我们来说,这个群体是 _Development Tools。
如何在 CentOS 上使用 YUM 安装开发工具
──
** 要获得必要的开发工具,请运行以下操作:**
1yum groupinstall -y development
或;
1yum groupinstall -y 'development tools'
** 注意:** 以前的(较短)版本可能不会在 CentOS 较旧的发行版上工作。
** 若要下载一些方便的附加包:**
1yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel
** 请记住:** 虽然这些智能
工具是可选的,但对于你将来会遇到的大多数任务,它们是非常必要的。
Python从源头安装
在我们的系统上设置Python将包括3个步骤和4个工具:
- 下载压缩源代码包(wget),
- 从这个包(tar), 中提取文件3. 配置和 构建应用程序(autoconf (configure) / make)。
GNU wget
GNU的wget
是用于通过各种协议下载文件的应用程序(如HTTP、FTP)。
使用例子 wget:
wget [URL]
GNU TAR(GNU Tar)
GNU 的 Tar 基本上是一个文件存档创建和操纵工具,使用各种可用的选项,可以创建压缩包,并在以后提取它们。
示例使用 tar:
tar [options] [arguments]
GNU Autoconf 和 GNU Make
GNU autoconf 和 make 是两个不同的工具,主要用于在构建和安装应用程序之前配置源代码。
我们将:
- ** 使用./configure** 配置一切安装前
- ** 使用 make** 连接库和源之前
- ** 使用 make install** - altinstall 在我们的情况下 - 构建(编译)源代码来创建二进制文件,并在我们的系统上安装应用程序,如使用
./configure
配置。
要了解有关 autoconf的更多信息,请考虑阅读 它的手册。
要了解更多关于 make的信息,请考虑阅读 它的手册。
下载、构建(编译)和安装 Python
在本节中,可以使用给出的所有指示来下载任何Python版本. 您只需要用所需的版本(如下示例中的2.7.6
)替换所述版本(如3.3.3
)。 您可以同时安装和使用多个版本。
**下载源档案 **
让我们先从包含Python源代码的(压缩)档案中获取。
1wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
** 版本 3.3.3 的示例:**
1wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tar.xz
[可选步骤] XZ
工具:
此文件使用 XZ 库被压缩. 根据其版本,您的系统可能没有它. 如果是,请执行以下操作来安装 XZ 库:
1yum install xz-libs
** 提取压缩源档案**
这个过程包括两个步骤:先解码XZ档案,然后提取。
1# Let's decode (-d) the XZ encoded tar archive:
2xz -d Python-2.7.6.tar.xz
3
4# Now we can perform the extraction:
5tar -xvf Python-2.7.6.tar
** 版本 3.3.3 的示例:**
1xz -d Python-3.3.3.tar.xz
2tar -xvf Python-3.3.3.tar
配置和安装
— 在构建源之前,我们需要确保所有依赖存在并准备环境。
1# Enter the file directory:
2cd Python-2.7.6
3
4# Start the configuration (setting the installation directory)
5# By default files are installed in /usr/local.
6# You can modify the --prefix to modify it (e.g. for $HOME).
7./configure --prefix=/usr/local
** 版本 3.3.3 的示例:**
1cd Python-3.3.3
2./configure
这个过程应该没有任何冲击 - 因为我们已经下载了所有必要的工具和应用程序. 当它完成后,我们将准备好转向下一步: 构建和安装。
建设与安装
—
在为我们正在工作的系统配置了一切后,我们可以继续 building(编译)源和 安装应用程序. 通常,人们会使用make install
;然而,为了不忽略系统的默认值 - 取代系统已经使用的Python - 我们将使用make altinstall
。
1# Let's build (compile) the source
2# This procedure can take awhile (~a few minutes)
3make
4
5# After building everything:
6make altinstall
** 版本 3.3.3 的示例:**
1make && make altinstall # <--- Two commands joint together
[可选步骤]将新Python安装位置添加到PATH
注意: 如果您使用默认设置遵循了指示,您不应该需要通过本节。但是,如果您选择了与 /usr/local不同的 path 来安装 Python,您需要执行以下操作才能运行它而不明确表示其完整的 [安装] 路径 每一次。
一旦安装完成,我们只能通过指定其完整的位置(路径)来访问生成的二进制(即我们选择的版本的Python解释器)(例如 /usr/local/bin/python2.7) - 当然,除非路径已经存在于PATH变量中(即表示的变量包含有关查找所述文件的信息)。
如果你想能够访问新安装的Python解释器,而不明确地告诉每一次在哪里寻找它,它的 path 需要附加到PATH
变量:
1# Example: export PATH="[/path/to/installation]:$PATH"
2export PATH="/usr/local/bin:$PATH"
要了解更多有关 PATH 的信息,请参阅 The Linux Information Project 的 PATH 定义。
设置常见的 Python 工具 pip 和 virtualenv
安装了Python后,我们现在可以完成完成应用程序制作和部署的基础知识,为此,我们将设置两个最常用的工具:pip包管理器和virtualenv环境管理器。
如果您对这两种工具有兴趣了解更多,或者只是快速刷新您的知识,请考虑阅读 Common Python Tools: Using virtualenv, Installing with Pip, and Managing Packages。
在 CentOS 上安装 pip 使用新 Python 安装
在安装 pip 之前,我们需要获得其唯一的外部依赖性 - setuptools。
从关于 virtualenv 和 pip 的文章中:
它 [setuptools] 建立在 Python 的分布工具集(标准)的功能上,称为 distutils。
** 执行以下命令来安装 setuptools:**
这将为版本 2.7.6 安装它
1# Let's download the installation file using wget:
2wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
3
4# Extract the files from the archive:
5tar -xvf setuptools-1.4.2.tar.gz
6
7# Enter the extracted directory:
8cd setuptools-1.4.2
9
10# Install setuptools using the Python we've installed (2.7.6)
11python2.7 setup.py install
安装 pip 本身是一个非常简单的过程,然后我们将使用上述文章的说明来自动和安全地下载和安装它,使用 cURL 库。
** 注:** 若要了解有关cURL的更多信息,请参阅解释它的部分( https://www.digitalocean.com/community/articles/common-python-tools-using-virtualenv-installing-with-pip-and-managing-packages)。
让我们下载 pip 的设置文件,并让 Python (2.7) 安装它:
这将为版本 2.7.6 安装它
1curl https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python2.7 -
有关如何使用Pip的信息,请参阅《常见的Python工具:使用virtualenv、使用Pip安装和管理包》的文章(https://www.digitalocean.com/community/articles/common-python-tools-using-virtualenv-installing-with-pip-and-managing-packages)。
在 CentOS 上安装 virtualenv 使用新 Python 安装
现在我们已经准备好了包管理器,在系统上获得virtualenv是一个风雨。
** 运行以下命令来下载和安装 virtualenv:**
1pip install virtualenv
要了解如何使用 virtualenv,请参阅关于 Python 工具:使用 virtualenv、安装与 Pip 和管理包的文章的文章。