Linux安装python2.7、pip和setuptools
一、说明
CentOS6.5自带python环境为2.6,公司的python环境为2.7.
为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折。。。。
中途遇到的问题和解决方法请点击:Python安装时遇到的问题
二、安装步骤
1、下载安装包
官方下载地址为:https://www.python.org/downloads/,选择的版本为2.7.14。


直接使用wget下载到本地:wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
2、安装
安装前要先装好gcc、 g++、和zlib相关的依赖库,假设安装目录设置为/usr/local/python27,安装步骤如下:
# 安装依赖库
yum install gcc g++ zlib zlib-devel openssl-devel
## ubuntu命令
# apt-get install gcc g++ zlib1g-dev openssl make
# 解压
tar -zxvf Python-2.7.14.tgz
# 创建安装文件夹
mkdir /usr/local/python27
# 编译安装
cd Python-2.7.14
./configure --prefix=/usr/local/python27/
make
make install
安装完成之后,进入到目录,一共是四个目录:bin include lib share
[root@blog bin]# cd /usr/local/python27/
[root@blog bin]# ll # 目录结构
total 16
drwxr-xr-x 2 root root 4096 Sep 23 14:08 bin # bin目录下放的可执行文件
drwxr-xr-x 3 root root 4096 Sep 23 14:08 include # 头文件
drwxr-xr-x 4 root root 4096 Sep 23 14:08 lib # 库文件目录
drwxr-xr-x 3 root root 4096 Sep 23 14:08 share [root@blog bin]# cd bin
[root@blog bin]# ./python2.7
Python 2.7.14 (default, Sep 23 2017, 14:06:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> # 进入这里表示已经安装成功
3、创建链接
创建软链接算是这里最关键的一步了,如果这里没有处理好,以后可能会遇到很多麻烦,动不动就会因为版本的原因报错。
首先先备份系统默认的python命令,一共有四个相关命令:
[root@blog bin]# which python # 查看系统默认python命令的位置
/usr/bin/python
[root@blog bin]# ls /usr/bin/python* -l # 查看所有的python命令
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python # 和下面的python26 python2.6一样
lrwxrwxrwx 1 root root 6 Sep 6 18:36 /usr/bin/python2 -> python # 软链接到python
-rwxr-xr-x. 1 root root 4864 Jul 24 2015 /usr/bin/python26
-rwxr-xr-x 2 root root 4864 Aug 18 2016 /usr/bin/python2.6
python python2.6 python26三个文件是同一个文件,不同的名字而已,现在要做的就是替换掉这些文件。
# 删掉之前的python python2命令,留下python26和python2.6备用
rm -rf /usr/bin/python /usr/bin/python2
# 创建新的python链接
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python27
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python2.7
# 输入python查看是否成功
python
Python 2.7.14 (default, Sep 23 2017, 14:06:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
使用python --version 也可以查看版本是否替换成功

4、修改yum命令
yum命令需要用到python2.6,上面已经把python指向了python2.7,此时如果运行yum将会报错,具体详见:升级python2.7后运行yum出现"No module named yum"的解决办法
三、安装setup-tools和pip
1、先安装setup-tools
在https://pypi.python.org/pypi/setuptools下载安装包,可以复制下载链接使用wget命令下载。

下载下来后,解压安装:
wget https://pypi.python.org/packages/45/29/8814bf414e7cd1031e1a3c8a4169218376e284ea2553cc0822a6ea1c2d78/setuptools-36.6.0.zip#md5=74663b15117d9a2cc5295d76011e6fd1
unzip setuptools-36.6.0.zip
cd setuptools-36.6.0
python setup.py install
2、安装pip
下载地址:https://pypi.python.org/pypi/pip,和上面一样下载下来,这里可以选择tgz格式的安装包。

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar -zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
3、创建软链接
进入到/usr/local/python27/bin目录,如果上面安装没报错的话,easy_install和pip命令就会出现在这里了:

创建软链接:
rm -rf /usr/bin/easy_install* /usr/bin/pip
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip27
ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip2.7
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install27
ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install2.7
# 验证操作是否成功
pip --version
pip 9.0.1 from /usr/local/python27/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
[root@blog bin]# easy_install --version
setuptools 36.5.0 from /usr/local/python27/lib/python2.7/site-packages/setuptools-36.5.0-py2.7.egg (Python 2.7)
到这里,所有的安装过程就完成了。
Linux安装python2.7、pip和setuptools的更多相关文章
- linux 安装python 和pip
下载文件 python官网:https://www.python.org/downloads/ 百度网盘http://pan.baidu.com/s/1mixGB12 密码 9nzu [r ...
- Linux安装python2.7
一.Python安装 以Python-2.7.7为例,安装包:Python-2.7.7.tgz如无特殊说明,以下安装步骤都采用root用户执行 1. 解压Python-2.7.7.tgz tar -x ...
- linux 安装 python2.7
若新安装虚拟机,或者新装linux系统.需安装gcc等yum -y install gcc gcc-c++ autoconf automake cmake ntp rsync ssh vim yum ...
- linux 安装python,pip,
Linux下python升级步骤 http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html 在 https://www. ...
- Linux安装Python2.7.9
1.下载python wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 2.解压.编译安装 tar -zxvf Python- ...
- win10下安装python2与python3以及pip共存
一 分别安装python2和python3 注意: 安装时记得勾选 Add Python.exe to Path 二 安装pip Python3最新版本有pip,无需安装 Python2: 下载pip ...
- 同一台电脑安装python2&python3
[安装之前,先了解一下概念] python是什么? Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. ...
- 一台电脑上同时安装python2和python3
被python2的编码问题整的快晕了,python3对编码问题解决的不错 所以想安装下python3,但由于目前企业大多还是用python2,所以不想卸载2,让python2和python3共存. 本 ...
- 【Linux】 CentOS6.5安装Python2.7以及pip等工具
原文地址 CentOS6.5下是原来就有python的,我的镜像里面自带的python版本是2.6.6.如果想要自己更新一个更加新的python版本可以这么做: 安装python2.7安装包. 从官网 ...
随机推荐
- synchronized同步代码块锁释放
今天发现自己写的线上程序出现数据库不能同步的问题,查看日志已经停止记录,随后使用jstack查看线程的运行状况,发现有个同步线程锁住了. 以下是jstack -l 637 问题线程的内容. &quo ...
- python-day12--函数进阶
1.命名空间: 分三种:全局命名空间,局部命名空间,内置命名空间. 加载顺序:内置命名空间→全局命名空间→局部命名空间 取值顺序:局部命名空间→全局命名空间→内置命名空间 2.作用域: 作用域就是作用 ...
- python-day8-元组的内置方法
#为何要有元组,存放多个值,元组不可变,更多的是用来做查询# t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))# print(type(t ...
- Linux的三种网络适配器
Linux的三种网络适配器 分别为:桥接模式(Bridged),NAT模式,仅主机模式. 仅主机模式: 2>NAT模式 NAT 是虚拟机和本地网络使用一个ip地址 3>桥接模 ...
- .net 中struct(结构)和class(类)的区别
1.struct 结构与class(类)的区别 1)struct是值类型,class是对象类型 2)struct不能被继承,class可以被继承 3)struct默认访问权限是public,而clas ...
- PHP:第一章——PHP中的关键字
<?php //PHP关键词 /* and //php中的逻辑与运算符.(和) or //php中的逻辑或运算符.(或) xor //php中的逻辑异或.(异或) __FILE__ //php中 ...
- mysql 索引原理及查询优化 -转载
转载自 mysql 索引原理及查询优化 https://www.cnblogs.com/panfb/p/8043681.html 潘红伟 mysql 索引原理及查询优化 一 介绍 为何要有索引? ...
- 《Python》 内置函数补充、匿名函数、递归初识
一.内置函数补充: 1.数据结构相关(24): 列表和元祖(2):list.tuple list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素). tuple:将一个可迭代对象转 ...
- 以太网最大帧和最小帧、MTU
根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + ...
- Wrapper class webservice.jaxws.SayHi is not found. Have you run APT to generate them?
最近在研究webservice,利用jdk来实现简单的webservice发布,但是运行时却发生了这样的异常,如下: Exception in thread "main" com. ...