CentOS 7下安装Python3.6 及遇到的问题小结

yipeiwu_com5年前Python基础

先给大家介绍下CentOS 7下安装Python3.6 的方法

安装python3.6可能使用的依赖

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

•到python官网找到下载路径, 用wget下载

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

•解压tgz包

tar -zxvf Python-3.6.4.tgz

•把python移到/usr/local下面

mv Python-3.6.4 /usr/local

•删除旧版本的python依赖

ll /usr/bin | grep python
rm -rf /usr/bin/python

•进入python目录

cd /usr/local/Python-3.6.4/

•配置

./configure

•编译 make

make

•编译,安装

make install

•删除旧的软链接,创建新的软链接到最新的python

rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.6 /usr/bin/python
python -V

下面看下centos 重新安装python3.6之后 yum 无法使用报错

问题:

$ yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
                                         ^

SyntaxError: invalid syntax

原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误。

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.4(如果你没有采用覆盖升级的话)。

升级yum的作法就不详述了。修改yum的解释器为旧版本python2.4:

$ vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可。

总结

以上所述是小编给大家介绍的CentOS 7下安装Python3.6 及遇到的问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Python找出文件中使用率最高的汉字实例详解

本文实例讲述了Python找出文件中使用率最高的汉字的方法。分享给大家供大家参考。具体分析如下: 这是我初学Python时写的,为了简便,我并没在排序完后再去掉非中文字符,稍微会影响性能...

python提取包含关键字的整行数据方法

python提取包含关键字的整行数据方法

问题描述: 如下图所示,有一个近2000行的数据表,需要把其中含有关键字‘颈廓清术,中央组(VI组)'的数据所在行都都给抽取出来,且提取后的表格不能改变原先的顺序。 问题分析: 一开始...

python3对接mysql数据库实例详解

python3对接mysql数据库实例详解

Python3 MySQL数据库连接,假设MySQL数据库已经安装好了,并创建好了数据库(后面抽点时间将数据库的安装总结下)。  PyMySQL是Python3中用于连接MyS...

Pandas过滤dataframe中包含特定字符串的数据方法

Pandas过滤dataframe中包含特定字符串的数据方法

假如有一列全是字符串的dataframe,希望提取包含特定字符的所有数据,该如何提取呢? 因为之前尝试使用filter,发现行不通,最终找到这个行得通的方法。 举例说明: 我希望提取所有...

Python 获取numpy.array索引值的实例

举个例子: q=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] 我想获取其中值等于7的那个值的下标,以便于用于其他计算。 如果使用np.where,...