先说下我所应用的体系情况, 一个新创建的 Docker 容器。 应用 cat /etc/redhat-release 可以看到运行的是 CentOS 7.3 版本。
在纯净的 CentOS 体系上安装 Python 情况重要有两种办法。 一种是经由过程源码编译安装,别的一种就是安装已经打好的 RPM 包。按照小我习惯,我们先来看一下若何经由过程源码编译的方法安装 Python 3.6 并且设备虚拟情况。
应用源码进行编译安装
基本情况
- 先安装安装几个必须的包,以便利后续的操作
- ➜ yum install wget gcc make
- ➜ # wget 用于下载源码包
- ➜ # gcc 和 make 用于编译
- ➜ wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
- 解包,解紧缩
- 编译
- ➜ cd Python-3.6.1
- ➜ ./configure --prefix=/usr/local/python3.6 --enable-optimizations
- ➜
先解释锫膳绫擎的参数,--prefix 是预期安装目次,--enable-optimizations 是优化选项(LTO,PGO 等)加上这个 flag 编译后,机能有 10% 阁下的优化(如不雅没记错的话),然则这会明显的增长编译时光。不过关于 LTO 和 PGO 其实不在今天文┞仿的评论辩论范围内,建议感兴趣的可以看看 GCC 中 LTO 的具体实现。我应当不太可能去写相干的文┞仿 哈哈哈 毕竟写起来就会停不下来。
接下来
如图,会看到掉足了,提示 zlib not available 所以,我们须要装一下依附
- ➜ yum install zlib-devel
那为什么须要这个依附包呢, 其实是因为 Python 有个很重要的内建模块 zipimport 用于大年夜 Zip 紧缩包中导入模块。 而如不雅没有 zlib 的包,那么就无法进行解紧缩了,也天然该模块就不克不及应用了。
当我们的依附安装好之后,从新履行膳绫擎的编译安装的步调,发明履行成功。
- ➜ /usr/local/python3.6/bin/python3 --version
- Python 3.6.1
拖了良久没有更新,抱歉啦~ 今天受邀写篇如安在 CentOS 7 上设备 Python 3 情况的文┞仿。往常我都选择直接把我早年写的一篇文┞仿源码编译MongoDB丢以前,让他们看个中的源码编译 Python 那一节,不过那节写的其实不太具体,并且比来被很多人催,所以照样零丁写一篇好了。
此刻,我们的 Python 3 也就安装成功了。
- 检查
编译安装完还远远不敷,我们来做些检查。
当我们运行 Python 终端,输入 import bz2 的时刻,会发明没有这个模块。如不雅你对这个模块不熟悉,那也没紧要。我们输入 import sqlite3熟悉 Python 的同窗应当对 sqlite3 不会太陌生,但如不雅你照样不熟悉的话,那你按偏向键尝尝看。有没有发明,输出变成了^[[D^[[A 类似如许的内容?
熟悉 Python 源码的同窗,肯定知道我要说什么了。然则假如你不熟悉,没紧要,我来告诉你。正常来讲,在终端下我们预期当输入上偏向键,会显示上一条敕令,输入左偏向键,可以将光标移动到左侧。但实际和我们的预期不合,什么原因?
这里涉及到了一点点关于输入设备的汗青原因,简单来说就是须要有个模块来对用户的输入进行转义。回到本文的重点,就是我们编译安装的时刻缺乏了 readline 这个模块。既然已经发清楚明了问题,那解决的办法其实很简单
- ➜ yum install readline-devel
当缁ゎ新的 CentOS 7.3 默认安装的是 Python 2 ,并且默认的官方 yum 源中不供给 Python 3 的安装包。有些用户想要进级应用 Python 3 但实际可能有各类各样的问题,导致掉足,反不雅一下激进的 Fedora 社区,在23的时刻,就将默认的版本修改成了 Python3 (如不雅我没记错的话)。
推荐阅读
使用MongoDB时应当切实部署的五项数据库警报_IT技术周刊第507期
【义务编辑:刘晶晶 TEL:(010)68476606】【义务编辑:刘晶晶 TEL:(010)68476606】>>>详细阅读
本文标题:在CentOS 7上安装并配置Python 3.6环境
地址:http://www.17bianji.com/lsqh/35919.html
1/2 1