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安装包. 从官网 ...
随机推荐
- poj2686 状压dp入门
状压dp第一题:很多东西没看懂,慢慢来,状压dp主要运用了位运算,二进制处理 集合{0,1,2,3,....,n-1}的子集可以用下面的方法编码成整数 像这样,一些集合运算就可以用如下的方法来操作: ...
- ccf行车路线
#include<bits/stdc++.h> using namespace std; const long long INF = 1e18; int n,m; struct node{ ...
- IP分类
IP: IP分为公有ip和私有ip. 私有ip分为以下5类: 类别 ip范围 子网掩码 A 1.0.0.0------127.255.255.255 255.0.0.0 B 128.0.0.0---1 ...
- OC self注意事项
#import <Foundation/Foundation.h> @interface Person : NSObject - (void)test; + (void)test; - ( ...
- spring boot 学习(三)API注解记录及测试
spring boot API注解记录及测试 部分注解解析 @Controller : 修饰创建处理 http 处理对象,一般用于页面渲染时使用. @RestController : Json数据交互 ...
- Python笔记初识
Python笔记初识
- 怎样设置IIS6.0的闲置超时时间
打开IIS 信息服务管理器 1)打开IIS,点击应用程序池 2)找到Bs项目使用具体程序池(DspTest) 3)右键属性找到高级设置-- 进程模型 -- 闲置超时 4)设置闲置超时时间(默认为20分 ...
- Python 数据类型--Bytes类型
一.Bytes类型 在Python3以后,字符串和bytes类型彻底分开了.字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用甚至内置方法上和字 ...
- superset 安装配置
一.配置python虚拟环境,请参考 superset依赖python3.6环境 https://www.cnblogs.com/xibuhaohao/p/9994854.html 二.安装配置sup ...
- 【python】判断值是否在list和set的对比以及set的实现原理
判断值是否在set集合中的速度明显要比list快的多, 因为查找set用到了hash,时间在O(1)级别. 假设listA有100w个元素,setA=set(listA)即setA为listA转换之后 ...