最近在linux上安装python,之前也装过,但是是不同的linux版本,再次安装时,又遇到各种问题,在这里记录一下安装的详细过程,以及中途遇到的各种问题,如果你也遇到同样的问题,希望能帮助到大家。
安装之前也说一下,我这次安装的linux版本是centos8的版本,如果是之前的版本,安装过程是一样的,但是可能不会遇到这么问题,根据自己出现的问题,合理的采取文中的解决方法,当然如果遇到本文未提及的问题也可以留言讨论。
一、安装依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
这里出现了第一个问题就是Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
大致意思是下载元数据失败,然后镜像列表里没有请求的url
原因:
在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。
CentOS 8已于2021年12月31日寿终正寝,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org
解决方法:
如果你仍然需要运行CentOS 8,你可以在/etc/yum.repos.d中更新一下源。使用vault.centos.org代替mirror.centos.org。
# sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
# sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
当然也有人在上述操作后更新了yum,yum upadate -y
根据自己的情况选择加不加这一条命令,过程比较缓慢,建议不加。
ps:也可以设置成阿里源操作方法作者没有验证这个方法,所以不做特别推荐。
还会出现另外一个问题就是找不到db4-devel
和libpcap-devel
,这两个包可能是升级改名了,然后就找不到(初步了解centos7和8都会出现这种问题),下面给出安装方式
dnf --enablerepo=powertools install libpcap-devel
dnf --enablerepo=raven-extras install db4-devel
dnf和yum一样的
二、下载python
这一步就需要根据自己的情况选择适合自己的python版本了,我这里就以3.7为例说一下。
1.进入opt文件目录下,cd /opt
2.下载python3 (选择适合自己的,不同版本会有略微的差距)
输入命令 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
如果出现 找不到wget命令,输入yum -y install wget
,就可以直接安装,这一步比较简单不做赘述(一般时间会很久,也可以在官网下载好,然后传到服务器rz,xftp,是一样的)
3.安装Python3
安装在/usr/local/python3
(具体安装位置看个人喜好)
(1)创建目录: mkdir -p /usr/local/python3
输入命令 tar -zxvf Python-3.7.1.tgz
(版本不一样,自己注意)解压后出现python的文件夹
4.进入解压后的目录,编译安装。(编译安装前需要安装编译器yum install gcc)
(1)安装gcc (编译器)
输入命令 yum install gcc
,确认下载安装输入“y”
如果出现报错说是curl错误啥的就采用另外一种方法:
dnf group install "Development Tools"
dnf install man-pages
如果还是gcc-8.5.0-4.el8_5.x86_64.rpm这个安装包下载失败的话,可以下载离线包自己安装,离线包地址
yum install gcc-8.5.0-4.el8_5.x86_64.rpm
(2)3.7版本之后需要一个新的包libffi-devel
安装即可:yum install libffi-devel -y
(3)进入python文件夹,生成编译脚本(指定安装目录):
cd Python-3.7.1
./configure --prefix=/usr/local/python3
#/usr/local/python3
为上面步骤创建的目录
(4)编译:make
如果报错说是不存在make,命令行执行yum install -y gcc automake autoconf libtool make
(5)编译成功后,编译安装:make install
4、5两步可以合并运行
如图就是安装成功了
(6)检查python3.7的编译器:/usr/local/python3/bin/python3.7
5.建立Python3和pip3的软链:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
这里说一下,为啥要创建一个软链接,其实软链接就是相当于windows里的一个快捷方式,我们创建一个快捷方式放在桌面,就不用每次启动程序的时候还要跑到安装程序的文件夹里去了,更多关于软链接的知识可以网上自己补充。
6.并将/usr/local/python3/bin
加入PATH
(1)vim /etc/profile
(2)按“I”,然后贴上下面内容:
# vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
#User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
(3)按ESC,输入:wq
回车退出。
(4)修改完记得执行行下面的命令,让上一步的修改生效:
source ~/.bash_profile
7.检查Python3及pip3是否正常可用:
python3 -V
pip3 -V