记一次阿里云服务器安装Python的血泪史

栏目: Python · 发布时间: 5年前

内容简介:之前我在windows 10系统上面安装python 3.7,虽然在windows 上面安装简单,操作也方便,但是想要和linux 的shell 脚本交互就不方便了。因此,我决定在centos 7上面也安装上python最新版本在这期间,我踩了很多坑,也填了很多坑,后来几乎要面临崩溃了,期间发生了什么?别着急,耐心往下看!操作系统:CentOS 7.4 64位

一、前言

之前我在windows 10系统上面安装 python 3.7,虽然在windows 上面安装简单,操作也方便,但是想要和 linuxshell 脚本交互就不方便了。因此,我决定在centos 7上面也安装上python最新版本

在这期间,我踩了很多坑,也填了很多坑,后来几乎要面临崩溃了,期间发生了什么?别着急,耐心往下看!

二、操作环境

操作系统:CentOS 7.4 64位

三、一般安装步骤

1.下载python安装包

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz

2.解压、配置、编译安装

tar xvf Python-3.8.0a3.tar.xz cd Python-3.8.0a3 ./configure

第一次踩坑了,报错如下:

记一次阿里云服务器安装Python的血泪史

解决过程:

查看报错信息,可以看出是系统缺少编译工具gcc c++之类

yum install gcc gcc-c++ make cmake -y ./configure

处理结果:解决问题

记一次阿里云服务器安装Python的血泪史

接下来编译安装

make && make install

第二次踩坑:缺少sha512

记一次阿里云服务器安装Python的血泪史

解决过程:

上网查询,应该是缺少openssl-devel,安装openssl-devel,试过改各种配置文件,重新编译安装

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel -y make clean make && make install

处理结果:依旧报相同错误

再次解决办法:

随后心一狠,删除Python-3.8.0a3解压包,然后重新解压,配置,编译安装

cd ~ rm -rf Python-3.8.0a3 tar xvf Python-3.8.0a3.tar.xz cd Python-3.8.0a3 ./configure make && make install

处理结果:解决问题,但又出现了新问题

第三次踩坑:没有_ctypes模块

记一次阿里云服务器安装Python的血泪史

解决方法:

查询报警信息,原来是少了libffi-devel依赖包,安装libffi-devel

yum install libffi-devel -y make install

记一次阿里云服务器安装Python的血泪史

处理结果:解决问题

3.验证python

(1)查看python版本号

记一次阿里云服务器安装Python的血泪史

(2)进入python环境

记一次阿里云服务器安装Python的血泪史

友情提示:此时直接使用python命令,默认是运行系统自带的python2.7,不是新版本Python3.8命令,pip命令是python2.7的,pip3命令才是python3.8的!

记一次阿里云服务器安装Python的血泪史

最后跌入巨坑:

本来到这一步,新版本python可以使用了,就是每次使用命令都是python3,pip命令是pip3 install ,我觉得特别麻烦,于是进行了下面步骤操作( 前方高能,千万不要模仿,千万不要模仿,千万不要模仿,重要的事情说3遍!!! ):

我上网搜索如何卸载Python 2.7, 然后操作步骤如下:

rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps whereis python |xargs rm -frv whereis python python

记一次阿里云服务器安装Python的血泪史

我以为成功删除python就结束了,没想到当我使用yum 命令安装软件时,才发现出问题了:

记一次阿里云服务器安装Python的血泪史

我试着把其他的服务器上的/usr/bin/python文件拷贝过来使用,但是依旧同样报错。(/usr/bin/python是二进制文件,也没办法修改)

我接着寻找其他办法,看到一篇访问量挺高的博客,就尝试了一下,操作如下:

rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps #卸载yum

whereis yum |xargs rm -frv

下载相关包

wget http://vault.centos.org/7.4.1708/os/x86_64/Packages/python-2.6.6-36.el6.x86_64.rpm

...... #省略相关步骤

使用rpm安装python和yum依赖包

rpm -Uvh --replacepkgs python

.rpm

rpm -Uvh --replacepkgs rpm-python

.rpm yum*.rpm

可是,我下载相关包失败后,这时候,我才看到了底下评论,好多人都说这种办法根本行不通,只能重装系统了!我当时想死的心都有了。

记一次阿里云服务器安装Python的血泪史

在多次尝试失败后,只好求助阿里云技术人员(服务器是阿里云的!),人家给出了建议:初始化磁盘(等同于重装系统)

记一次阿里云服务器安装Python的血泪史

最后解决措施:初始化磁盘!

记一次阿里云服务器安装Python的血泪史

其实,入坑才是最好的成长方式,但一定要学会总结,才不会重蹈覆辙!

踩坑总结:

1.在安装前要下载好所有依赖包,避免编译安装时出错。

2.了解yum 和python的关系,yum 安装软件需要依赖Python环境。

3.网上的技术文档未必每一篇都实用,尤其是删除,卸载软件类要十分慎重,最好有备份!

4.centos 系统删除yum及python后,并非无解,只是由于版本不同,相关软件包十分不好找,这个坑还是不要去踩!

避免大家重蹈覆辙,我整理了避坑安装步骤如下:

1.下载python

cd /usr/local

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0a3.tar.xz

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel libffi-devel -y #安装编译工具

2.解压、配置、编译安装

tar xvf Python-3.8.0a3.tar.xz mv Python-3.8.0a3 python-3.8 cd /usr/local/python-3.8 ./configure make && make install python3 -V

3.删除,备份python2.7

mv /usr/bin/python /usr/bin/python.bak

4.建立软连接

ln -s /usr/local/bin/python3.8 /usr/bin/python #建立python命令软连接

python

记一次阿里云服务器安装Python的血泪史

ln -s /usr/local/bin/pip3 /usr/bin/pip #建立pip命令软连接

pip install --upgrade pip #测试pip命令(此处为更新命令)

记一次阿里云服务器安装Python的血泪史

有人会问,python2版本都删干净了吗?怎么检查现在输入python命令进入的是2版本还是3版本,pip命令是在2版本中执行,还是在3版本中执行的,这里我总结了一些技巧!( 图片仅供参考,此时python2.7已经删除,正常情况不会出现python2.7相关图片!

判断python2.7 与python3.8版本技巧:输入python 命令后,看版本号!

python2.7版本

记一次阿里云服务器安装Python的血泪史

python3.8版本

记一次阿里云服务器安装Python的血泪史

判断pip 命令运行的版本号技巧:看有无警告字体!

在python2.7版本中

记一次阿里云服务器安装Python的血泪史

在python3.8版本中

记一次阿里云服务器安装Python的血泪史

5.修改yum依赖

vim /usr/bin/yum

将/usr/bin/python改为/usr/bin/python2.7

记一次阿里云服务器安装Python的血泪史

vim /usr/libexec/urlgrabber-ext-down

将/usr/bin/python改为/usr/bin/python2.7

记一次阿里云服务器安装Python的血泪史

6.验证yum功能

yum install -y wget

记一次阿里云服务器安装Python的血泪史

重大福利:

为了方便大家快速安装python3.8,我写了一个shell脚本自动安装python,拿走不谢!下载链接: https://down.51cto.com/data/2460942

参考文件:

python 安装 https://blog.csdn.net/luduo8055/article/details/82782660

python 升级 https://blog.51cto.com/10316297/2134736


以上所述就是小编给大家介绍的《记一次阿里云服务器安装Python的血泪史》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web应用漏洞侦测与防御

Web应用漏洞侦测与防御

Mike Shema / 齐宁、庞建民、张铮、单征 / 机械工业出版社 / 2014-8-20 / 69.00

本书由国际知名网络安全专家亲笔撰写,全面讲解如何预防常见的网络攻击,包括HTML注入及跨站脚本攻击、跨站请求伪造攻击、SQL注入攻击及数据存储操纵、攻破身份认证模式、利用设计缺陷、利用平台弱点、攻击浏览器和隐私等, 全书共8章:第1章介绍HTML5的新增特性及使用和滥用HTML5的安全考虑;第2章展示了如何只通过浏览器和最基本的HTML知识就可以利用Web中最常见的漏洞;第3章详细讲解CSR......一起来看看 《Web应用漏洞侦测与防御》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具