前言:
开篇忠告:
不要手贱:centos8版本等系统一般都会自带集成python3及python版本,以供系统底层调用,最好不要以来就删除系统中的python旧版本及其目录结构,保险起见,最好不要卸载旧版币,以免系统依赖出错。新版本安装完后把系统中相关配置指向新版本所在目录,做相关配置即可。
1.为确保安装中不会因权限不够而导致错误或失败,须用root权限来执行,如果不是在root权限下,用“sudo”命令获取最高权限后执行命令,即每条命令前面加“sudo”,输入root账号的密码。
2.笔者更新此博文时Python官方已经更新版本至3.10.1,请根据项目或开发需求选择合适的版本进行安装(官网地址:https://www.python.org ),方法同下;版本号自己按照实际情况修改;
3.建议安装前保留旧版Python,在新目录中安装新版本,然后再执行旧版本的卸载和移除操作:示例如下
(1)安装必备的系统组件和编译工具等:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
一、下载 Python 安装包
进入 Python 官网 下载
注:Linux 通过 wget 下载即可(安装包链接按版本在官网看),如
cd /opt && wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tgz
二、解压 Python 安装包
1、Mac
双击自动解压。或在终端中执行命令解压
2、Linux
(根据你所下载个Python3源码压缩包格式和名字选择对应命令解压缩,更多解压缩命令请具体查看Linux命令手册)
xz -d Python-3.10.1.tar.xz
或
tar xvf Python-3.10.1.tgz
或
tar -xf Python-3.10.1.tar
本文安装使用.tgz格式文件,故选用:tar xvf Python-3.10.1.tgz
三、释放编译文件
如果是root管理员账号登入安装,可以免除sudo命令,否则请务必使用sudo赋予最高执行权限:
cd Python-3.10.1
sudo ./configure --prefix=/usr/local/python3.10 --enable-optimizations
注:先 cd 到解压后的 Python 安装包目录
四、编译
sudo make
五、安装
sudo make install
查看安装后系统中所生效的Python3版本
Python3 --version
六、安装中的一点注意事项:
如果系统中存在老版本的Python,比如Python 3.6.8,那么此命令执行后仍然显示老版本号,
[root@192 Python-3.10.1]# python3 --version
Python 3.6.8
这时候需要做一些修改配置:
ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
注意:这里如果存在老版本的软链接指向,则会报错如下:
[root@192 Python-3.10.1]# ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
ln: failed to create symbolic link '/usr/bin/python3': File exists
这里先对存在的软链接作删除处理,然后再创建软链接,命令如下:
rm ln /usr/bin/python3
ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
[root@192 Python-3.10.1]# rm ln /usr/bin/python3
rm: cannot remove 'ln': No such file or directory
rm: remove symbolic link '/usr/bin/python3'? yes
[root@192 Python-3.10.1]# ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
[root@192 Python-3.10.1]# python3 --version
Python 3.10.1
当执行python3 --version显示版本为所安装的最新版本Python 3.10.1,此时大功告成
七、参考资料
本文基于互联网博文及博主亲自测试经验整理,安装测试环境为macOS Catalina,macOS Big Sur,CentOS 8
附注:编译安装命令参考
CentOS 源码编译安装 Python3
准备#
yum -y install wget gcc make libffi-devel zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel
说明:
Copy
yum install wget gcc make readline-devel
yum install bzip2-devel
yum install ncurses-devel
yum install sqlite-devel
yum install gdbm-devel
yum install xz-devel
yum install tk-devel
yum install readline-devel
yum install zlib-devel
yum install libffi-devel
在Python官网下载
wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tar.xz # 下载
xz -d Python-3.10.1.tar.xz
tar -xvf Python-3.10.1.tar # 解压缩
过程#
配置#
cd Python-3.10.1
./configure --prefix=/usr/local/python3.10 --enable-optimizations
–prefix指定了预期安装目录
–enable-optimizations优化选项
生成了Makefile文件,这个过程不会自动创建/usr/local/python3.7目录。
编译#
make -j8
安装#
make install
/usr/local/python3.7目录被创建了,执行安装。
环境配置#
ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.10/bin/pip3 /usr/bin/pip3
卸载#
如果养成好的习惯,使用了–prefix参数,那么仅需要删除对应文件夹,去除相关环境变量即可。否则需要进入源码的src文件夹下,执行make uninstall。
怎么卸载用 make install 编译安装的软件?
补充#
安装好之后,输入python3即可使用,pip3也可以使用。发现机器本身自带的python2对应的pip无法使用,于是重新安装一下pip:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
参考:#
Install-Python3.6-on-CentOS7
Linux编译安装中configure、make和make install各自的作用
Linux ./configure && make && make install 编译安装和卸载
详解如何用源代码安装软件,以及如何卸载它
centos7下编译安装vim8,并支持python3 轻易别升级Vim
分类: Python
标签: 编译, 环境