记一次阿里云服务器安装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的血泪史》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

How to Solve It

How to Solve It

Zbigniew Michalewicz、David B. Fogel / Springer / 2004-03-01 / USD 59.95

This book is the only source that provides comprehensive, current, and detailed information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic pro......一起来看看 《How to Solve It》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具