内容简介:之前一直把CentOS7源码编译安装Python 3的命令放在钉钉的石墨文档里,并不准备把这个当作一篇博客单独放出来的。但最近要源码编译Python 3的次数实在是太多了,而且每次打开石墨文档的速度实在是太——慢——了——(还不如我的博客快),所以决定把CentOS源码编译安装Python 3的命令放到博客里来,以后需要用的时候就直接翻博客算了。众所周知,CentOS系统为了保证系统的稳定性,系统自带的组件以及官方源中的软件包版本都相对比较低,自带的Python版本一直停留在Python 2.7.5,雷打
序、扯淡
之前一直把CentOS7源码编译安装 Python 3的命令放在钉钉的石墨文档里,并不准备把这个当作一篇博客单独放出来的。但最近要源码编译Python 3的次数实在是太多了,而且每次打开石墨文档的速度实在是太——慢——了——(还不如我的博客快),所以决定把CentOS源码编译安装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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Golang源码探索(一) 编译和调试源码
- 写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实 原 荐
- JVM源码分析-JVM源码编译与调试
- 使用源码编译Hadoop
- Runtime源码编译
- 下载编译AOSP源码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。