CentOS 6.8安装Python2.7.12的配置教程

查看当前系统中的 Python 版本

python --version
返回 Python 2.6.6 为正常。

检查 CentOS 版本

cat /etc/redhat-release
返回 CentOS release 6.8 (Final) 为正常。

安装所有的开发工具包

yum groupinstall -y "Development tools"

安装其它的必需包

yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel
下载、编译和安装 Python 2.7.12

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
tar zxf Python-2.7.12.tgz
cd Python-2.7.12
./configure
make && make install
默认 Python 2.7.12 会安装在 /usr/local/bin 目录下。

ll -tr /usr/local/bin/python*

/usr/local/bin/python2.7
/usr/local/bin/python2.7-config
/usr/local/bin/python -> python2
/usr/local/bin/python2 -> python2.7
/usr/local/bin/python2-config -> python2.7-config
/usr/local/bin/python-config -> python2-config
而系统自带的 Python 是在 /usr/bin 目录下。

ll -tr /usr/bin/python*

/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config
更新系统默认 Python 版本

先把系统默认的旧版 Python 重命名。

mv /usr/bin/python /usr/bin/python.old
再删除系统默认的 python-config 软链接。

rm -f /usr/bin/python-config
最后创建新版本的 Python 软链接。

ln -s /usr/local/bin/python /usr/bin/python
ln -s /usr/local/bin/python-config /usr/bin/python-config
ln -s /usr/local/include/python2.7/ /usr/include/python2.7
以上步骤做完以后,目录 /usr/bin 下的 Python 应该是

ll -tr /usr/bin/python*

/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python.old
/usr/bin/python2 -> python
/usr/bin/python -> /usr/local/bin/python
/usr/bin/python-config -> /usr/local/bin/python-config
查看新的 Python 版本

python --version
返回 Python 2.7.12 为正常。

以下步骤还是有必要的

为新版 Python 安装 setuptools

wget https://bootstrap.pypa.io/ez_setup.py -O - | python
setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。

为新版 Python 安装 pip

easy_install pip
正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。

为新版 Python 安装 distribute 包(可选)

pip install distribute
至此,新版 Python 即算安装完毕了。

注意:这可能会导致以前安装过的 Python 程序运行不了或者无法重启之类的(比如著名的 Shadowsocks Python 版)。原因是旧版的 pkg_resources 位于 /usr/lib/python2.6/site-packages 下。而新版的则是在 /usr/local/lib/python2.7/site-packages 下。
所以,也许你需要重新安装一下程序。

再次注意:升级 Python 可能会导致 yum 命令不可用。解决方法如下:
编辑 /usr/bin/yum 文件,将开头第一行的

#!/usr/bin/python
改为

#!/usr/bin/python2.6
但是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。
所以,经过我的不懈琢磨和努力,发现了一个办法(网上的解决方案都是抄来抄去,没有一点卵用)。
记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,不存在的我们就去旧版本的路径下找,一定能找到的。找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下即可。

/usr/lib/python2.6/site-packages/
/usr/lib64/python2.6/site-packages/
我的复制过程是这样的:

cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/

时间: 2024-09-21 05:24:37

CentOS 6.8安装Python2.7.12的配置教程的相关文章

CentOS中编译安装Python2.7.8版本的步骤

心血来潮,想学习一下Python,听说用来做爬虫还不错.先从运行环境开始入手,CentOS中已经内置了Python,但版本似乎比较老,通过python -V命令看到版本是2.4.3.目前Python 2.x的最新版本号是2.7.8,那么就开始动手升级一下. 首先,下载源码包,命令如下: wget --no-check-certificate https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 这里需要特别注意一下,因为下载网址是htt

在CentOS系统下安装Puppet和Puppet Foreman的教程

  一.系统环境: Centos6.4 x86_64 192.168.6.171 puppet.domain.com 192.168.6.173 agent1.domian.com 二.关闭selinux 和 iptables(我这里是测试环境,也可以增加puppet端口8140) 代码如下: setenforce 0 /etc/init.d/iptables stop && chkconfig iptables off 三.更改主机名.使用host解析 代码如下: [root@test

CentOS中Nginx+Apache+MySQL+PHP+Tomcat的配置教程(支持PHP、JAVA)

先来看CentOS6.4+Apache-2.2.22+Mysql-5.1.63+PHP-5.2.17+phpmyadmin-3.4.10.2+ZendDebug环境安装 LAMP安装手记(CentOS6.4+Apache-2.2.22+Mysql-5.1.63+PHP-5.2.17+phpmyadmin-3.4.10.2+ZendDebug)  代码如下 复制代码 rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd php mysql

linux下安装Squid代理的详细配置教程_服务器其它

1.如果系统中还没有装squid,按以下顺序输入命令后即可完成安装 # wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE18.tar.gz //下载Squid代理安装包 # tar -zxvf squid-3.0.STABLE18.tar.gz //解压Squid安装包 # cd squid-3.0.STABLE18 # ./configure --prefix=/usr/local/squid --sysconfd

centos-CentOS安装python2.7.9,竟然自己指向了/usr/local/bin,求原因

问题描述 CentOS安装python2.7.9,竟然自己指向了/usr/local/bin,求原因 在CentOS下安装python2.7.9,(下面会粘出操作history),本来以为按照网上说的,需要在/usr/bin下面改名字,做软链接什么的,发现竟然不用,请大神们解答这是一种什么机制. 命令行里输python,人家就是2.7.9版本了: [fy@VM_70_40_centos bin]$ python Python 2.7.9 (default, Mar 16 2016, 20:55:

如何在CentOS 7上安装iRedMail集成到Samba4 AD

本系列教程将引导你了解如何在 CentOS 7 安装 iRedMail 以及 Samba4 AD 域控制器,以便域帐户可以通过 Thunderbird 桌面客户端或通过 Roundcube Web 界面发送或接收邮件. 将要安装 iRedMail 的 CentOS 7 服务器需允许通过 25 和 587 端口进行 SMTP 或邮件路由服务,并且还将通过 Dovecot 作为邮件传递代理,提供 POP3 和 IMAP 服务,两者都使用安装过程中签发的自签名证书进行安全保护. 收件人邮箱将与 Rou

RHEL/CentOS 7中安装并配置 PowerDNS 和 PowerAdmin

PowerDNS是一个运行在许多Linux/Unix衍生版上的DNS服务器,它可以使用不同的后端进行配置,包括BIND类型的区域文件.关系型数据库,或者负载均衡/失效转移算法.它也可以被配置成一台DNS递归器,作为服务器上的一个独立进程运行. PowerDNS授权服务器的最新版本是3.4.4,但是当前EPEL仓库中可以获得的版本是3.4.3.我推荐安装EPEL仓库中提供的那一个,因为该版本已经在CentOS和Fedora中测试过.那样,你也可以在今后很容易地更新PowerDNS. 本文用于向你演

完全指南:如何在CentOS 7中安装、配置和安全加固FTP服务

FTP(文件传输协议)是一种用于通过网络在服务器和客户端之间传输文件的传统并广泛使用的标准工具,特别是在不需要身份验证的情况下(允许匿名用户连接到服务器).我们必须明白,默认情况下 FTP 是不安全的,因为它不加密传输用户凭据和数据. 在本指南中,我们将介绍在 CentOS/RHEL7 和 Fedora 发行版中安装.配置和保护 FTP 服务器( VSFTPD 代表 "Very Secure FTP Daemon")的步骤. 请注意,本指南中的所有命令将以 root 身份运行,如果你不

压缩-centos解压安装jdk-8u65-linux-x64.tar.gz出现的问题

问题描述 centos解压安装jdk-8u65-linux-x64.tar.gz出现的问题 [root@localhost ~]# ls anaconda-ks.cfg Documents jdk-8u65-linux-x64.tar.gz opt Public Videos Desktop Downloads Music Pictures Templates [root@localhost ~]# tar zxvf jdk-8u65-linux-x64.tar.gz -C /usr/ opt/