在CentOS系统中升级Python版本可以通过多种方式实现,包括使用YUM包管理器、编译源代码和使用Anaconda等,以下详细介绍这些方法,并给出逐步指导:
使用YUM包管理器升级Python
1、安装必要的依赖包:在升级Python之前,需要先安装一些必要的依赖包,这些依赖包包括开发工具和库文件。
sudo yum groupinstall "Development Tools" sudo yum install openssldevel bzip2devel libffidevel
2、添加EPEL仓库:EPEL(Extra Packages for Enterprise Linux)是一个为RHEL(Red Hat Enterprise Linux)及其衍生版本(如CentOS)提供额外软件包的项目,我们需要从EPEL仓库中安装Python。
sudo yum install epelrelease
3、安装Python:使用YUM安装Python的最新版本,假设我们要安装Python 3.9版本:
sudo yum install python39
4、更新默认Python版本:默认情况下,CentOS系统使用的是Python 2.x版本,为了切换到新安装的Python 3.9版本,我们可以使用alternatives命令来设置默认的Python版本。
sudo alternatives install /usr/bin/python python /usr/bin/python3.9 1 sudo alternatives config python
编译源代码升级Python
1、安装openssl:Python3.11的源码编译,需要openssl 1.1版本以上,通过以下的步骤进行安装:
yum remove y openssl openssldevel wget https://www.openssl.org/source/openssl1.1.1v.tar.gz tar zxf openssl1.1.1v.tar.gz cd openssl1.1.1v ./config prefix=/usr/local/openssl libdir=lib openssldir=/etc/pki/tls make j1 depend make j8 make install_sw
2、安装依赖包:这些依赖包,在编译python源码的时候,会用到。
yum install y make cmake gcc bzip2devel libffidevel zlibdevel tkdevel readlinedevel gdbmdevel sqlitedevel tkinter
3、下载Python最新的源码包:登录下面的地址:https://www.python.org/downloads/source/,下载到最新的源码包,这里的版本是3.11.4。
wget https://www.python.org/ftp/python/3.11.4/Python3.11.4.tgz tar zxf Python3.11.4.tgz
4、配置环境变量:
export CFLAGS="I/usr/local/openssl/include" export LDFLAGS="L/usr/local/openssl/lib lssl lcrypto" export CPPFLAGS="I /usr/local/openssl/include"
5、编译、安装:
cd Python3.11.4 ./configure withopenssl=/usr/local/openssl withopensslrpath=auto prefix=/usr/local/python3.11.4 enableoptimizations make altinstall
6、验证安装:
cd /usr/local/python3.11.4/bin ./python3.11 version
使用Anaconda升级Python
1、下载和安装Anaconda:从Anaconda官网(https://www.anaconda.com/)下载Anaconda安装脚本,并运行安装过程。
cd /tmp wget https://repo.anaconda.com/archive/Anaconda32021.05Linuxx86_64.sh bash Anaconda32021.05Linuxx86_64.sh
2、更新Python:安装完成后,使用conda命令更新Python。
conda update python
通过以上几种方法,您可以在CentOS系统中顺利升级Python,无论是使用YUM包管理器、编译源代码,还是使用Anaconda,每种方法都有其优缺点,YUM包管理器适合于系统级别的升级,编译源代码则提供了更多的自定义选项,而Anaconda则是数据科学家的不二选择。