Centos7安装python3.7.9

此教程适合centos7安装python3的版本,并且是让python2和python3共存,因为平时使用的yum命令是依赖于python2的,所以大家不要思考如何卸载python2,卸载python2的代价等同于系统崩了。此教程前提是:没有装过python3的,已经安装过的先卸载python3,卸载方法具体自行百度

安装环境所需依赖

复制下面三行命令分别执行即可

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel wget

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc

yum -y install libffi-devel

下载python3.7.9安装包

python的所有下载地址是:https://www.python.org/ftp/python/

本教程使用的3.7.9版本,所以地址是:https://www.python.org/ftp/python/3.7.9/

复制下面两行命令分别执行即可,第一步是进入一个临时目录,熟悉linux的也可以自行选择,因为安装好都是可以删掉的,第二步下载可能有点久,根据网速决定,等着下载完就行

cd /tmp/

wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz

 解压安装包

复制下面四行命令分别执行即可,第一步是解压,第二步进入解压后的文件夹,第三步编译安装,--prefix=/usr/local/python3指定安装目录,--enable-optimizations增加稳定优化,第四步安装

tar xzvf Python-3.7.9.tgz

cd Python-3.7.9

./configure --prefix=/usr/local/python3 --enable-optimizations

make && make install

到此已经结束安装了

添加环境变量

现在虽然已经安装好,但是无法使用,因为还没有添加环境变量,添加环境变量使用python3和pip3有两种方法,第一种是使用软连接,第二种是直接把python3安装的位置添加到系统环境变量,下面都会说到,具体使用各取所需就行

第一种方法,添加软连接,第一步是给python3添加环境变量,第二步是给pip3添加环境变量,整体软连接的命令中可以拆分成三部分,第一部分ln -s是软连接的命令,第二部分/usr/local/python3/bin/python3是指我们安装好后python3存放的路径,这个是一定要真实存在的,第三部分则是指想系统已经指定环境变量的路径,/usr/bin/下面的所有可执行文件都可以直接在命令行执行,而python3则是我们取的别名,可以取python4,python5都可以,使用的适合就在命令行输入python4或python5就可以,这个别名可以任意取,pip3的软连接也是同一个道理

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

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

第二种方法,则是把/usr/local/python3/bin加入到系统的环境变量中,这样/usr/local/python3/bin下面所有的可执行文件都可以在命令行执行,添加系统环境变量有三种方法,第1种是临时变量,只会暂时生效,第2种是对当前用户永久生效,第3中是对所有用户永久生效,这里只列举后面两种

第1种,当前用户永久生效

vi ~/.bash_profile

把/usr/bin/python3加到PATH那一行的后面,用冒号隔开,变成下图所示,保存退出

source ~/.bash_profile

第2种,所有用户永久生效,有root权限建议使用该种方法

vi /etc/profile

在页末加上 export PATH=$PATH:/usr/local/python3/bin,变成下图所示,保存退出

source /etc/profile

到此,安装已经结束,使用python3 -V 可以看到python3版本,  python -V可以看到python2版本,pip3 -V可以看到pip3的版本, 因为本身python2是没有pip的,所有使用直接用pip3即可

你可能感兴趣的:(Centos7安装python3.7.9)