Python版本选择Python2.x是遗产,Python3.x是现在和未来的语言。Python2.x默认编码为ASSIC码,不支持中文。Python3.x默认编码为UNICODE,默认支持中文。Python3对比Python2默认支持中文。不兼容Python2.x。核心语法调整,更易学习。新特性默认只在Python3.x上有。安装

本安装以CentOS7为例

[root@wt-test-3 python]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)

CentOS7中默认安装的是Python2.7.5版本,YUM源中提供的也是Python2.7.5版本,可以通过以下命令查看:

[root@wt-test-3 python]# python --versionPython 2.7.5[root@wt-test-3 python]# yum info pythonLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirrors.tuna.tsinghua.edu.cn * updates: mirror.bit.edu.cnInstalled PackagesName : pythonArch : x86_64Version : 2.7.5Release : 68.el7Size : 79 kRepo : installedSummary : An interpreted, interactive, object-oriented programming languageURL : http://www.python.org/License : Python

想要使用Python3.x版本,需要我们手动安装,以下是我编译安装Python3.7的记录(目前最新版本),供大家参考:

下载Python3.7安装包

[root@wt-test-3 software]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

解压下载后的安装包,并编译安装

[root@wt-test-2 software]# tar zxf Python-3.7.0.tgz[root@wt-test-2 software]# cd Python-3.7.0[root@wt-test-2 software]# ./configure --prefix=/opt/python37 --enable-optimizations[root@wt-test-2 software]# make -j 4[root@wt-test-2 software]# make install

--enable-optimizations 选项启用PGO(Profile-Guided Optimizations,档案导引优化)和LTO(Link-Time and optimized)优化,性能提升约10%-20%,但会增加编译时间。PGO、LTO的详细信息可参考 [https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html]()

如果安装过程中出现:

Python build finished successfully!The necessary bits to build these optional modules were not found:_bz2 _curses _curses_panel _dbm _gdbm _hashlib _lzma _sqlite3 _ssl _tkinter _uuid readline

可以安装缺少的依赖包,然后删除编译目录重新执行编译安装步骤。

[root@wt-test-2 software]# yum -y install gcc-c++ openssl-devel \ zlib-devel libffi-devel readline-devel \ bzip2-devel ncurses-devel sqlite-devel \ gdbm-devel xz-devel tk-devel libuuid-devel 安装完成后,设置环境变量

[root@wt-test-2 software]# echo 'export PATH=$PATH:/opt/python37/bin' >> /etc/profile[root@wt-test-2 software]# source /etc/profile验证是否安装成功

[root@wt-test-2 software]# python3 --versionPython 3.7.0