CentOS7 源码编译Python 3

栏目: 服务器 · 发布时间: 5年前

内容简介:之前一直把CentOS7源码编译安装Python 3的命令放在钉钉的石墨文档里,并不准备把这个当作一篇博客单独放出来的。但最近要源码编译Python 3的次数实在是太多了,而且每次打开石墨文档的速度实在是太——慢——了——(还不如我的博客快),所以决定把CentOS源码编译安装Python 3的命令放到博客里来,以后需要用的时候就直接翻博客算了。众所周知,CentOS系统为了保证系统的稳定性,系统自带的组件以及官方源中的软件包版本都相对比较低,自带的Python版本一直停留在Python 2.7.5,雷打

序、扯淡

之前一直把CentOS7源码编译安装 Python 3的命令放在钉钉的石墨文档里,并不准备把这个当作一篇博客单独放出来的。但最近要源码编译Python 3的次数实在是太多了,而且每次打开石墨文档的速度实在是太——慢——了——(还不如我的博客快),所以决定把CentOS源码编译安装Python 3的命令放到博客里来,以后需要用的时候就直接翻博客算了。

CentOS7 源码编译Python 3

一、背景

众所周知,CentOS系统为了保证系统的稳定性,系统自带的组件以及官方源中的软件包版本都相对比较低,自带的Python版本一直停留在Python 2.7.5,雷打不动。不过你看人家Ubuntu还能通过apt-get再进一步的安装Python 3.x,而CentOS自带的源压根没有Python 3.x的软件包,更过分的是在官方源中连Python2的pip也没有。也不知道2020年官方停止Python 2.7的支持时,CentOS能不能提供官方源Python 3.x。

CentOS对Python 2.7这么情有独钟的主要原因在于,其系统中很多程序依赖于Python 2.7,如果一不留神、一个手贱把自带的Python 2.7干掉了,那么你就可以惊奇的发现CentOS有很多命令咖喱给给了,比如说yum……

二、操作

源码编译安装 Python 3.x 其实并不难,主要是要搞清楚编译时需要先安装好的组件。如果在编译时缺失了一些必要的组件,在以后使用 Python 的时候就会遇到各种奇怪的问题。

键入以下的命令,下面的命令装的是Python 3.6.3,如果需要其他版本,请自行调整第四行curl请求的源码包地址中的版本号:

yum makecache
sudo yum install -y curl gcc zlib* openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel make tcl-devel tk-devel
 
curl -o Python-3.6.3.tgz https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xzf Python-3.6.3.tgz -C /tmp
rm -f Python-3.6.3.tgz
cd /tmp/Python-3.6.3/
./configure --enable-shared --prefix=/usr/local
make
sudo make altinstall
 
sudo ln -s /usr/local/bin/pip3.6 /usr/bin/pip3
sudo ln -s /usr/local/bin/python3.6 /usr/bin/python3
 
sudo rm -rf /tmp/Python-3.6.3
cd -
 
sudo tee /etc/ld.so.conf.d/python3.6.3.conf <<-'EOF'
/usr/local/lib/
EOF
sudo ldconfig

三、注意事项

1.如果上面的命令一路下来都没有问题,之后你可以使用“python3”命令进入Python 3的交互命令行或执行Python3的脚本,“pip3”命令安装Python 3的软件包。如果需要执行Python 2的脚本,依旧使用原来的“python”命令进行调用。

2.源码编译安装的Python 3会默认安装好pip(9.0.1)和setuptools(28.8.0);

3.如果要升级pip3的话, 最好不要使用下面这个pip自己提示的命令 (特别是在系统中同时存在Python 2和3,pip 2和3的情况下):

pip3 install --upgrade pip

因为这么做很有可能会出现升级后 pip3命令找不到或者运行出错的问题 (可能是因为在升级的过程中错误的调用了系统自带的Python 2) ,建议使用get-pip.py的方式去升级:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
rm -f get-pip.py

小柊

2018年9月4日 23:50:18


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

程序设计实践

程序设计实践

[美] Brian W. Kernighan、Rob Pike / 裘宗燕 / 机械工业出版社 / 2000-8 / 20.00元

这本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法。一起来看看 《程序设计实践》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具