centos自带的python版本为2.6,在使用tornado时会出现如下报错:

NameError: global name 'memoryview' is not defined

因此需要升级到python2.7,升级过程出现如下问题:

升级到2.7:

1.下载安装包、解压安装:

wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2

tar -jxvf Python-2.7.3.tar.bz2

cd Python-2.7.3

./configure

make all

make install

make clean

make distclean

指定yum的python版本:

vi /usr/bin/yum

将文件头部的

!/usr/bin/python

改成

!/usr/bin/python2.6.6

6.建立软链接:

mv /usr/bin/python /usr/bin/python2.6.6

ln -s /usr/local/bin/python2.7 /usr/bin/python

至此,python版本已升级,但是pip却用不了了

安装pip

先安装setuptools:

$wget --no-check-certificate http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz (### 此步骤如果提示SSL is reqired只需要将下载链接改成https://pypi........即可)

$tar zxvf setuptools-0.6c11.tar.gz

$cd setuptools-0.6c11

$sudo python setup.py build

$sudo python setup.py install

这个时候又提示找不到zlib模块,

$ yum install zlib

$ yum install zlib-devel

######### 然后进入python2.7的解压路径重新安装python(一定要执行此步骤,否则一直提示zlib模块错误)

$cd Python-2.7.3

$make

$make instal

然后再次$cd setuptools-0.6c11目录sudo python setup.py install即可成功安装setuptools

测试

$easy_install --help

####### 然后安装pip:

curl -O https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz

解压后 进入目录 python setup.py install

安装完成后执行pip list

此时pip list报错:

ImportError: cannot import name HTTPSHandler

安装openssl 和openssl-devel即可:

yum install openssl -y

yum install openssl-devel -y

移动到python文件的解压路径重新安装python:

cd Python-2.7.3

./configure

make install

然后pip命令就能正常使用了,pip install sqlalchemy

使用python2.7的虚拟环境:

pip install virtualenv
virtualenv pyenv -p python --no-site-packages

或者 virtualenv -p python py2.7env 或者(在安装了py3的情况下可以指定为python3)

# virtualenv -p /usr/bin/python ENV2.7

然后vim ~/.bashrc 在末尾添加 source [ENV2.7的绝对路径]/bin/activate

然后source ~/.bashrc即可每次开机启动就进入虚拟环境

centos python2.6升级到2.7出现的问题的更多相关文章

  1. centos Python2.6 升级到2.7

    需求: centos 6.x 系统默认Python 版本都是2.6,实际生产环境中需要用到Python 2.7.x Python 2.7 下载地址 [root@ansible package]# wg ...

  2. centos python2.6升级到2.7 还有单独的python3.5环境

    查看python版本 #python -V Python 1.下载Python-2.7.3 #wget http://python.org/ftp/python/2.7.3/Python-2.7.3. ...

  3. centos python2.6 升级到 python2.7

    一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...

  4. python2.6升级到2.7

    开发部需要使用python2.7,由于公网的环境python版本都是系统自带的,版本是2.6,需要升级,最好是通过RPM升级. Linux系统:CentOS CentOS 6.4升级Python后yu ...

  5. CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    ---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update....   yum install 或者 添加y ...

  6. Centos 6.5升级到Git2.1.2的步骤

    Centos 6.5升级到Git2.1.2的步骤 Centos 6.5升级到Git2.1.2其实是非常的简单,因这款版本控制程序非常的好用,所以小编自己也是使用它了,下面一起来看看Centos 6.5 ...

  7. CentOS 6.9 升级MySQL 5.6.36到5.7.18

    CentOS 6.9 升级MySQL 5.6.36到5.7.18 MySQL 5.6.36 安装过程:http://www.cnblogs.com/imweihao/p/7156754.html 升级 ...

  8. Centos 6.x 升级到 7.x

    Centos6.5跨越大版本升级到Centos7.4 - Linux学习与应用 - CSDN博客https://blog.csdn.net/whbttst/article/details/805348 ...

  9. 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    原文地址:https://www.cnblogs.com/lzpong/p/5755678.html 我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下. ---原文--- ...

随机推荐

  1. 自动化测试学习之路--java 数组

    数组的定义与为数组元素分配空间和赋值是分开进行的,称为动态初始化. 在数组定义的同时就为数组元素分配空间并赋值,称为静态初始化. 一维数组举例: //动态初始化 int[] intArr; intAr ...

  2. MySQL☞insert value与values

    最近公司事情太忙,作为以一挑十的测试,只能苦逼的累死累活的.好不容易临近上线,可以偷个懒写个文章. 简单的说说如何向表中插入数据: 1.向表中所有的列插入数据(插入多行数据): insert  int ...

  3. you need to resolve your current index first 已解决

    从一个分支A切换到另一个分支B后,对切换后的B分支进行pull操作,因为pull操作实际上包含了fetch+merge操作,在执行 merge操作时,由于很长时间没有对B分支执行过pull/merge ...

  4. CSP201509-1:数组分段

    引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的“计算机职业资格认证”考试,针对计算机软件开发. ...

  5. 杜绝网上压根没测过就乱写之 《oracle mybatis 返回自增主键 》

    面试过好多人,包括自己也属于这么一个情况: 遇到问题直接去网上查,一般都可以查到解决方案.其中也包括一些基本的面试资料的答案. 其实有很多答案也都是正确的,但是还是存在一些压根就是胡乱抄来的答案,也不 ...

  6. NLP系列-中文分词(基于统计)

    上文已经介绍了基于词典的中文分词,现在让我们来看一下基于统计的中文分词. 统计分词: 统计分词的主要思想是把每个词看做是由字组成的,如果相连的字在不同文本中出现的次数越多,就证明这段相连的字很有可能就 ...

  7. python 面试题: 列表表达式

    [process() for item1 in iterable1 if condition1 for item2 in iterable2 if condition2 For item3 in it ...

  8. Linux nohup 后台运行命令

    有一些爬虫的程序需要在后台运行,所以简单总结了一下nohup 的一些用法 基本命令:nohup command  $; 运行之后出现nohup: ignoring input and appendin ...

  9. Linux arm64的虚拟内存布局

    原创翻译,转载请注明出处. 页表转换arm64在硬件体系结构上支持4级的每页大小为4K的页表转换,也支持3级的页大小64KB的页表转换.在linux arm64中,如果页的大小为4KB,使用3级页表转 ...

  10. 浅谈c语言和c++中struct的区别

    今天做二叉树的时候,发现利用结构体有点乱,不知道怎么回事,我之前知道c语言中声明一个结构体变量时需要通过 struct 结构体名 变量名,而在c++中,可以不要struct,由于可以利用typedef ...