文档章节

【笔记】CentOS升级Python2.7及安装pip

加壹
 加壹
发布于 2014/03/21 23:02
字数 590
阅读 7097
收藏 15

CentOS升级Python2.7及安装pip

1) 升级Python2.7

python -V  # 查看版本:Python 2.6.6

mkdir -p ~/Env/python; cd ~/Env/python  # 创建个目录

wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar Jxvf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --prefix=/usr/local/py-2.7.6  # "./configure -h"查看帮助
make  # 报模块缺失时,有需要的安装后重make
# issue: INFO: Can't locate Tcl/Tk libs and/or headers
#        Python build finished, but the necessary bits to build these modules were not found:
#        ...
# 注1:zlib必要,之后安装setuptools要用。见"安装setuptools"。
# 注2:openssl必要,之后pip要用。见"安装pip"。
# 注3:bzip2也最好加,执行"yum install bzip2 bzip2-devel -y"。
make install

# 建立软链接,默认指向Python2.7
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/py-2.7.6/bin/python2.7 /usr/bin/python
python -V  # Python 2.7.6

# yum不兼容Python2.7,需要指定为原版本
vi /usr/bin/yum
# 将"!/usr/bin/python"改为"!/usr/bin/python2.6.6"

# ibus也不兼容Python2.7,需要修改
# 将"exec python"改为"exec python2.6.6"
ll /usr/bin | grep python  # 确认下python2.6.6
vi /usr/bin/ibus-setup  # 修改
vi /usr/libexec/ibus-ui-gtk  # 修改
reboot  # 可能需要重启

2) 准备基础环境

2.1) 安装setuptools

cd ~/Env/python

wget http://pypi.douban.com/packages/source/s/setuptools/setuptools-3.3.tar.gz  # 豆瓣源
tar zxvf setuptools-3.3.tar.gz
cd setuptools-3.3
python setup.py build
sudo python setup.py install
# 或者用ez_setup.py,同样改为豆瓣源
# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# python ez_setup.py --download-base http://pypi.douban.com/packages/source/s/setuptools/

# 缺少zlib,安装setuptools时出错。
# issue: RuntimeError: Compression requires the (missing) zlib module
yum install zlib zlib-devel -y
# 重make Python2.7再安装
cd ../Python-2.7.6
make  # 这时才注意先前make时缺了好多模块
make install

# 环境变量
vi /etc/profile
# 添加如下内容:
# PY_HOME=/usr/local/py-2.7.6
# export PATH=$PY_HOME/bin:$PATH
source /etc/profile  # 当前终端生效,reboot后才会完全生效
echo $PATH

2.2) 安装pip

easy_install -i http://pypi.douban.com/simple pip

# 缺少ssl模块,pip使用时出错
# issue: ImportError: cannot import name HTTPSHandler
yum install openssl openssl-devel -y
make  # Python-2.7.6目录
make install

# 配置pip为豆瓣源
mkdir ~/.pip  # ls或ll -a 查看隐藏内容
vi ~/.pip/pip.conf
# 添加如下内容:
# [global]
# index-url = http://pypi.douban.com/simple

2.3) 安装virtualenv

su
pip install virtualenv
pip install virtualenvwrapper

virtualenv用于创建隔离的Python运行环境,依赖不同库和版本时避免混乱。

virtualenvwrappervirtualenv上的扩展,提供更方便的命令。

2.4) 其他

Document

Network

Web framework

3) 参考

  1. Centos 6.4 python 2.6 升级到 2.7

© 著作权归作者所有

加壹
粉丝 25
博文 21
码字总数 20538
作品 0
无锡
私信 提问
加载中

评论(1)

x
xiaoyutou
楼主,建议加上必须的相关工具的安装。我一次安装由于系统缺少sqlite-devel导致编译出来的python2.7.6缺少这个,flexget不能运行。后来"yum install sqlite-devel"后重新编译就没问题了。建议步骤前加上如下:
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

参考文献:
http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/
笔记:centos6.5自带python2.6一键升级到2.7.11

系统环境:CentOS6.5 final 自带python版本:2.6.6 升级目标:版本python-2.7.11,同时安装好setuptools,pip以及模块操作的tab补全功能 需要用到的软件已经统一打包好,免费下载入口:http:...

jaty0817
2016/06/16
0
0
CentOS6.8安装scrapy爬虫框架

背景 最近想搞一个个人项目,需要用到爬虫,所以接触了scrapy。 环境参数 OS环境 CentOS6.8 x86_64 OS默认python版本 python2.6 安装问题 在默认python版本环境(python2.6)下安装了pip,通...

Baron聊聊技术
2017/11/23
0
0
centos默认python2.6升级到python2.7,并用pip方式安装python工具包。

centos安装默认python2.6升级为python2.7,并解决python工具包安装的各种问题。 思路指导:升级2.7不能用yum安装python工具包。建议用pip 1.更新指令 yum -y update yum groupinstall -y 'd...

jin544642965
2016/05/09
0
0
centos 6.4x64 django开发环境搭建(升级python2.6.6为2.7.3)

最近学习python语言,学到django的时候,准备搭建一个django开发环境,几经周折,最终配置成功,现把配置过程整理出来,供大家学习交流: 服务器环境: CentOS release 6.4 (Final) x64 1,下...

苦咖啡sa
2015/04/09
1K
0
升级Linux下的Python遇到问题

升级linux下的python,版本如下: 升级方法如下: 下载Python源文件,进行编译安装,具体命令如下。 安装后运行python -V,发现版本已经是2.7.11。 在redhat和centos上都试过了(程序远程调用...

shawnplaying
2016/09/23
754
0

没有更多内容

加载失败,请刷新页面

加载更多

常用正则表达式整理

本文转载于:专业的前端网站➩常用正则表达式整理 /*以下为亲自验证过,备用*/   数字,0-100,包含0和100,且小数点后最多有三位: /^(\d{1,2}(\.\d{1,3})?|100)$/ 匹配正整数:^[1-9]*[1-9][...

前端老手
28分钟前
5
0
Java 中可重入锁、不可重入锁的测试

Java 中可重入锁、不可重入锁的测试 可重入锁 指在同一个线程在外层方法获取锁的时候,进入内层方法会自动获取锁。 为了避免死锁的发生,JDK 中基本都是可重入锁。 下面我们来测试一下 sync...

ConstXiong
28分钟前
5
0
怎么给视频变音

怎么让录制视频中的声音变得可爱吗?其实方法非常的简单,只要进行视频变音制作就好了,那怎么给视频变音呢?下面就一起来看看视频变音的具体制作方法吧! 具体步骤如下: 第一步: 打开手机...

白米稀饭2019
32分钟前
4
0
学习记录(ECMAScript 6.0入门_day01重点总结)

课程目标 1、ECMAScript6和JAVAScript关系 ES6是JAVAScript的规格,JavaScript是ES6的一种实现。 变量声明: 局部变量:let 它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内...

庭前云落
44分钟前
4
0
springboot 源码SpringApplication的run方法解析

public ConfigurableApplicationContext run(String... args) {//记录启动应用启动时间StopWatch stopWatch = new StopWatch();stopWatch.start();ConfigurableApplicationCo......

dudu
46分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部