目前CentOS6.5上自带的python版本为2.6,升级到python2.7会碰到很多问题。本文将介绍如何安装python2.7、pip以及python命令行补全。

一、如何安装python2.7

(1)gcc编译器,可以单独安装gcc,也可以安装“Development Tools” 。

      yum -y install gcc 或者 yum -y groupinstall  "Development tools"

(2)python依赖包

      yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

(3)python2.7下载安装

     wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar vxf Python-2.7.11.tgz
cd Python-2.7.11
./configure --prefix=/usr/local
make && make install

(4)软链接

如果在命令行想输入python直接链接到python2.7,可以建立python到python2.7的软链接。

  #备份已有的python命令
mv python python-old
#建立python到python2.7的软链接
ln -s /usr/local/bin/python2.7 /usr/bin/python

二、如何安装pip

(1)安装依赖包setuptools

wget --no-check-certificate  https://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648c281/setuptools-21.0.0.tar.gz#md5=81964fdb89534118707742e6d1a1ddb4
tar vxf setuptools-21.0.0.tar.gz
cd setuptools-21.0.0
python setup.py install

(2)安装pip

wget --no-check-certificate  https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
tar vxf pip-8.1.1.tar.gz
cd pip-8.1.1
python setup.py install

(3)pip包的升级

pip install --upgrade pip

三、python命令行补全

默认情况下,python命令行是不能自动补全的,使用不友好,必须自动添加如下python代码才能实现自动补全。如下代码的文件名为tab.py:

      1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3
4 import sys
5 import readline
6 import rlcompleter
7 import atexit
8 import os
9 readline.parse_and_bind('tab: complete')
10 histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
11 try:
12 readline.read_history_file(histfile)
13 except IOError:
14 pass
15 atexit.register(readline.write_history_file, histfile)
16 del os, histfile, readline, rlcompleter

如果缺少相应模块,还得自行通过pip安装相应缺失模块。根据相应的python安装路径,将tab.py文件拷贝到python对应lib目录下,例如上述python2.7的安装路径为/usr/local,其lib目录为/usr/local/lib/python2.7,那么将tab.py放置在该目录下即可。

这样在python命令行模式下导入tab,即

  import tab

这样就可以实现python命令行的自动补全。

四、yum冲突解决

CentOS6.5升级python2.6到python2.7后,yum工具会报错,这是因为默认的yum工具是python2.6解析的,升级python2.7后同时做了软链接/usr/bin/python ---> /usr/bin/python2.7,这样

/usr/bin/python不能链接到/usr/bin/python2.6,所以yum工具报错,解决办法之一是修改/usr/bin/yum文件,及修改yum的解释环境,将/usr/bin/yum的解释器修改为“#!/usr/bin/python2.6”即可,这样yum会用python2.6解析,解决了冲突。

CentOS 6.5上安装python2.7、pip以及Python命令行补全和yum冲突解决的更多相关文章

  1. 在CentOS 6.5上安装python2.7

    1.yum groupinstall “Development tools” 2.安装编译Python需要的组件 yum install zlib-devel bzip2-devel openssl- ...

  2. CentOS5.5上安装Python2.7及ez_setup和pip包

    CentOS5.5上安装Python2.7及ez_setup和pip包 下载 首先从Python官方下载源代码包下载 编译安装 这里将python安装到/opt/python27文件夹下 tar xv ...

  3. [转]在Linux CentOS 6.6上安装Python 2.7.9

    在Linux CentOS 6.6上安装Python 2.7.9 查看python安装版本 python -V yum中最新的也是Python 2.6.6,所以只能下载Python 2.7.9的源代码 ...

  4. node 在centos 6.5 上 安装过程中出现/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found问题的解决

    node  在centos 6.5 上 安装过程中出现/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found问题的解决 在linux ...

  5. 在CentOS或RHEL上安装Nux Dextop仓库

    介绍 Nux Dextop是类似CentOS.RHEL.ScientificLinux的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop对CentOS/RHEL ...

  6. 如何在CentOS/RHEL & Fedora上安装MongoDB 3.2

    MongoDB(名称取自"huMONGOus")是一个有着全面灵活的索引支持和丰富的查询的数据库.MongoDB通过GridFS提供强大的媒体存储.点击这里获取MongoDB的更多 ...

  7. CentOS 6.5上安装MySQL-Cluster

    参考博文: CentOS 6.2下MySQL Cluster 7.2 配置数据库集群 CentOS 6.5上安装MySQL-Cluster 7.3.4过程笔记--下一步学习 MySQL Cluster ...

  8. CentOS 6.9上安装mysql-5.6.36

    CentOS 6.9上安装mysql-5.6.36 1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/data,而后需要创建/da ...

  9. 记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb

    记录CentOS 7.4 上安装MySQL&MariaDB&Redis&Mongodb 前段时间我个人Google服务器意外不能用,并且我犯了一件很低级的错误,直接在gcp讲服 ...

随机推荐

  1. 在ChemDraw中如何使用ChemACX

    ChemACX是一款功能强大的化学品比价数据库,可与E-Notebook和ChemDraw整合使用,极大地方便生化科学家们采购化学品.那么很多用户就会开始疑惑该如何在ChemDraw化学绘图软件调用C ...

  2. [UIImage _isCached]: message sent to deallocated instance

    本文转载至 http://zhuhaibobb.blog.163.com/blog/static/2744006720124191633375/       这几天做了个APP打开20份钟左右就强制退 ...

  3. 【BZOJ3681】Arietta 树链剖分+可持久化线段树优化建图+网络流

    [BZOJ3681]Arietta Description Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中.但是她从未停止过和恋人 Velding 的书信往来.一 ...

  4. Ubuntu 16.04 安装 Phpmyadmin 出现的问题及解决

    ubuntu 16.04 install phpmyadmin $ apt install phpmyadmin 安装时出现一个错误: An error occurred while installi ...

  5. 160229-01、web页面常用功能js实现

    web页面常用功能js实现   1.网页未加载时弹出新窗口 <body onunload="window.open('http://www.a68.cn');">< ...

  6. ajax跨域问题解决之cors篇

    现在浏览器出于安全考虑,在域名.协议.端口不同的情况下,浏览器会认为这是跨域,ajax请求是不允许跨域的. 如果我们有跨域的需求,可以使用cors解决.其原理就是,在请求之前先发送一个OPTIONS请 ...

  7. js对用户信息加密传输 java后端解密

    1.加密采用服务端随机生成加密因子放入session中,传入登录或注册界面(每次进入都刷新) 2.页面中引入jquery.aes.js(这个js从网上下的坑比较多,引入先后顺序不一致都会报错,所以最后 ...

  8. echarts学习心得1---模块化单文件引入和标签式单文件引入

    一.模块化单文件引入 1. 为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的) <div id="main" style="height:40 ...

  9. 【opencv】 solvepnp 和 solvepnpRansac 求解 【空间三维坐标系 到 图像二维坐标系】的 三维旋转R 和 三维平移 T 【opencv2使用solvepnp求解rt不准的问题】

    参考: pnp问题 与 solvepnp函数:https://www.jianshu.com/p/b97406d8833c 对图片进行二维仿射变换cv2.warpAffine() or 对图片进行二维 ...

  10. 荣誉墙项目day26 django 项目路由配置

    项目路由配置文件包括:配置目录里的urls.py文件和各个app目录里的urls.py文件 1.include()——从项目主路由分配到各APP主路由 from django.conf.urls im ...