2022年 11月 4日

阿里云服务器安装Python3

三、一般安装步骤

1.下载python安装包

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz

2.解压、配置、编译安装

tar xvf Python-3.8.0a3.tar.xz
cd Python-3.8.0a3
./configure

第一次踩坑了,报错如下:

 

解决过程:

查看报错信息,可以看出是系统缺少编译工具gcc c++之类

yum install gcc gcc-c++ make cmake -y
./configure prefix=/usr/local/python3 –enable-optimizations

##注:有时候如果加上开启优化选项 “–enable-optimizations”,下面编译 make 时会报错“Fatal Python error: ##_PySys_BeginInit: can’t initialize sys module”,可能和内核版本有关系,如果报错可以去掉该选项然后重新配置并编译。 

处理结果:解决问题

 

接下来编译安装

make && make install

第二次踩坑:缺少sha512

 

解决过程:

上网查询,应该是缺少openssl-devel,安装openssl-devel,试过改各种配置文件,重新编译安装

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel -y
make clean
make && make install

处理结果:依旧报相同错误

再次解决办法:

随后心一狠,删除Python-3.8.0a3解压包,然后重新解压,配置,编译安装

cd ~
rm -rf Python-3.8.0a3
tar xvf Python-3.8.0a3.tar.xz
cd Python-3.8.0a3
./configure
make && make install

处理结果:解决问题,但又出现了新问题

第三次踩坑:没有_ctypes模块

 

解决方法:

查询报警信息,原来是少了libffi-devel依赖包,安装libffi-devel

yum install libffi-devel -y
make install

 

处理结果:解决问题

 

删除原来的软连接

不过可能原来的软连接需要备份之后删除 

mv /usr/bin/python /usr/bin/python.bak
mv /usr/bin/pip /usr/bin/pip.bak

后续工作,由于执行CentOS的yum命令需要使用自带的python2的版本,所以需要做两处修改

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
#将 这两个文件开头的的 #! /usr/bin/python修改为 #! /usr/bin/python2

 

安装新的软连接

python3

ln -s /usr/local/python3/bin/python3 /usr/bin/python

pip3:

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

 

 

 ###################################以下未用到#######################

 输入 python    看到提示如下信息,表示安装成功 

3.验证python

(1)查看python版本号

 

(2)进入python环境

 

友情提示:此时直接使用python命令,默认是运行系统自带的python2.7,不是新版本Python3.8命令,pip命令是python2.7的,pip3命令才是python3.8的!