内容简介:之前一直把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源码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python基础教程
[挪] Magnus Lie Hetland / 袁国忠 / 人民邮电出版 / 2018-2-1 / CNY 99.00
本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合......一起来看看 《Python基础教程》 这本书的介绍吧!