1.python3.8.2软件包下载,解压并进入软件目录
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
tar -zxf Python-3.8.2.tgz
cd Python-3.8.2
2.依赖安装
yum install wget zlib* openssl openssl-devel libffi-devel -y
3.编译安装python3.8.2
查看服务器的cpu核数:4核
cat /proc/cpuinfo| grep "processor"| wc -l
编译安装:
“-j”参数可利用多核CPU加快编译速,但python的编译仍需要较长的时间
–enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化
./configure --prefix=/usr/local/python3 --enable-optimizations
make -j 4
make install
4.安装完成创建软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
rm -rf /tmp/cache/Python* # 清理缓存
echo "/usr/local/python3/lib" >> /etc/ld.so.conf.d/python3.conf # 导入so包
ldconfig
5.验证python3.8.2是否安装成功
6.更换pip源
创建文件
mkdir ~/.pip/
vi ~/.pip/pip.conf
输入以下内容更换pip华为源
[global]
index-url = https://repo.huaweicloud.com/repository/pypi/simple
trusted-host = repo.huaweicloud.com
timeout = 120
FAQ
编译报错:执行make -j 编译时报错:Could not import runpy module
报错原因:在低版本的gcc版本中带有 --enable-optimizations
参数时会出现上面问题
解决方案:1.升级gcc版本到 8.1.0修复此问题(gcc需要很长的时间来安装),参考:linux系统CentOS7.6编译安装GCC9.2.0
2 ./configure
参数中去掉 --enable-optimizations