centOS7安装Python3.8.12

1.准备工作

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
# 安装libffi-devel依赖
yum install libffi-devel -y 
# 如果不安装这个包,python3可以装成功
# 但是后面装flask、uwsgi等依赖python3中有个内置模块叫ctypes时会报错。
# 报错ModuleNotFoundError: No module named ‘_ctypes‘。需要安装依赖包和重新编译安装python3
yum install openssl-devel

2.下载Python3.8.12

建议使用wget下载,快的一批。官网下的话太慢了。

yum install wget -y

# 下载稳定版本3.8版
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

3.config、make、make install

cd Python-3.8.12/

./configure prefix=/usr/local/python3

make && make install

4.成功的标志

centOS7安装Python3.8.12_第1张图片

 5.可能出现的错误或异常

一、错误信息:

SystemError:  returned NULL without setting an error
generate-posix-vars failed

解决办法

依次执行:

cd Python-3.8.12/

make clean

./configure prefix=/usr/local/python3

make && make install

二、错误信息:

make: *** 没有规则可以创建目标“instal”。 停止。
Misc/python-config.sh >python-config

解决办法

依次执行:

cd Python-3.8.12/

make clean

./configure prefix=/usr/local/python3

make && make install

6.软连接

mv /bin/python /bin/python.bak
ln -s /usr/local/python3/bin/python3 /bin/python
# 查看python版本
python -V
> Python 3.8.12
[root@localhost bin]# cd ~
[root@localhost ~]# ln -s /usr/local/python3/bin/pip3 /bin/pip
ln: 无法创建符号链接"/bin/pip": 文件已存在
[root@localhost ~]# rm /bin/pip
rm:是否删除符号链接 "/bin/pip"?yes
[root@localhost ~]# ln -s /usr/local/python3/bin/pip3 /bin/pip

pip -V
> pip 21.1.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

7.yum错误

由于yum默认使用Python2.7.5,不可使用py3+,但系统已将python指向python3.8.12,故需要将yum中修改指向。错误信息如下:

centOS7安装Python3.8.12_第2张图片

一、修改:

centOS7安装Python3.8.12_第3张图片

二、修改:

centOS7安装Python3.8.12_第4张图片

 结束~

你可能感兴趣的:(flask,python,后端)