最近在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-devellibpcap-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

alpineapk安装python alpine linux安装python_alpineapk安装python


如果出现 找不到wget命令,输入yum -y install wget,就可以直接安装,这一步比较简单不做赘述(一般时间会很久,也可以在官网下载好,然后传到服务器rz,xftp,是一样的)

3.安装Python3

安装在/usr/local/python3(具体安装位置看个人喜好)

(1)创建目录: mkdir -p /usr/local/python3

alpineapk安装python alpine linux安装python_linux_02


输入命令 tar -zxvf Python-3.7.1.tgz(版本不一样,自己注意)解压后出现python的文件夹

alpineapk安装python alpine linux安装python_alpineapk安装python_03


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为上面步骤创建的目录

alpineapk安装python alpine linux安装python_linux_04


(4)编译:make 如果报错说是不存在make,命令行执行yum install -y gcc automake autoconf libtool make

(5)编译成功后,编译安装:make install

4、5两步可以合并运行

alpineapk安装python alpine linux安装python_gcc_05

如图就是安装成功了

(6)检查python3.7的编译器:/usr/local/python3/bin/python3.7

alpineapk安装python alpine linux安装python_alpineapk安装python_06


5.建立Python3和pip3的软链:

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

alpineapk安装python alpine linux安装python_alpineapk安装python_07

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

alpineapk安装python alpine linux安装python_alpineapk安装python_08


这里说一下,为啥要创建一个软链接,其实软链接就是相当于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

alpineapk安装python alpine linux安装python_python_09