CentOS7 源码编译Python 3

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

内容简介:之前一直把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


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

查看所有标签

猜你喜欢:

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

The Mechanics of Web Handling

The Mechanics of Web Handling

David R. Roisum

This unique book covers many aspects of web handling for manufacturing, converting, and printing. The book is applicable to any web including paper, film, foil, nonwovens, and textiles. The Mech......一起来看看 《The Mechanics of Web Handling》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具