Centos7默认的python版本是 python2.7,自己动手装一下python3,同时不影响已有的 python2 环境
1、先确认是否已经装了python3,卸载
(这一步可选,因为原来不同版本的python2,python3都可同时保留不影响)
# 使用rpm卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
# 删除残余文件
whereis python3 |xargs rm -frv
#查看现有安装的python,验证是否删除干净
whereis python
2、安装编译需要的模块
2.1 Centos7 安装所需环境
安装 epel 存储库
yum install epel-release
安装源码编译需要的编译环境
yum -y groupinstall "Development Tools"
yum -y install gcc zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi libffi-devel gcc-c++
安装openssl11,后期的pip3安装网络相关模块需要用到ssl模块
yum -y install openssl-devel openssl11 openssl11-devel
设置编译FLAG,以便使用最新的openssl库
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
如果安装失败:看这个手动安装 点我查看
2.2 debian10.x 安装所需环境
apt-get install zlib1g zlib1g-dev libbz2-dev libsqlite3-dev libffi-dev gcc g++ -y
3、官网下载编译安装包或者直接执行以下命令下载
wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
4、解压安装包
tar -zxvf Python-3.11.4.tgz
5、进入解压目录,编译安装
指定python3的安装目录为 /usr/local/python3 并使用 ssl 模块,指定目录的好处是后期删除此文件夹就可以完全删除软件了
./configure --prefix=/usr/local/python3 --with-ssl --enable-optimizations
如果 openssl 是手动安装的需要带上 openssl 的目录
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-optimizations
make && make install
这样就将 python3 安装在 /usr/local/python3 下面
6、添加软链接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
7、pip 安装虚拟环境模块
python3 -m pip install virtualenv
可能遇到如下问题:
解决办法:更换阿里云 pypi 或者 点我查看解决办法
mkdir -p ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com