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. 「题目代码」P1013~P1017(Java)

    1013 C基础-求偶数和 import java.util.*; import java.io.*; import java.math.BigInteger; public class Main { ...

  2. 《python核心编程第二版》第8章习题

    8–1. 条件语句. 请看下边的代码 # statement Aif x > 0:# statement Bpasselif x < 0:# statement Cpasselse:# s ...

  3. 【java并发编程实战】第七章:取消与关闭

    停止线程的几种方式 一般的逻辑停止 public class ThreadInterruptTest { public static volatile boolean cancel = true; p ...

  4. flask中static_folder与static_url_path的区别与联系

    # -*- coding:utf-8 -*- from flask import Flask, url_for app1 = Flask(__name__, static_folder='mystat ...

  5. MySQL性能分析和优化-part 1

    MySQL性能优化 平时我们在使用MySQL的时候,怎么评估系统的运行状态,怎么快速定位系统瓶颈,又如何快速解决问题呢? 本文总结了多年来MySQL优化的经验,系统介绍MySQL优化的方法. OS性能 ...

  6. Git&GitHub&GitBook

    一.定义 Git(分布式版本控制系统) GitHub gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. gitHub于2008年4 ...

  7. 关于ubuntu上无法运行cmd markdown

    环境:ubuntu18.04 直接解压完的cmd markdown,直接点击可执行文件运行,没有反应,在通过终端运行,提示:Cannot find required executable ifconf ...

  8. 7forJava

    interface Pet{ public String getName(); public String getColor(); public int getAge(); } class Cat i ...

  9. Jpeg-Baseline和Progressive JPEG的区别

    原文来自 http://www.hdj.me/use-progressive-jpeg-in-web 看着不错,于是粘贴了过来 今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline J ...

  10. Flink History Job

    history job的写入1. org.apache.flink.runtime.jobmanager,Object JobManagerrunJobManager中指定使用MemoryArchiv ...