一、Python安装

以Python-2.7.7为例,安装包:Python-2.7.7.tgz如无特殊说明,以下安装步骤都采用root用户执行

1. 解压Python-2.7.7.tgz

tar -xzvf Python-2.7.7.tgz

2. 进入解压产生的Python目录

cd Python-2.7.7

3. 安装

此时可以先安装zlib模块,见2.安装message模块

./configure --prefix=/usr/local/Python2.7 --enable-shared -enable-unicode=ucs4

configure是源码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足安装软件的依赖关系。

关于configure的介绍:http://blog.csdn.net/luckywang1103/article/details/18674231

关于-enable-shared的介绍:http://blog.csdn.net/z1988316/article/details/7894734

-enable-unicode=ucs4:为了解决RHL6.6编码采用ucs4编码的问题,RHL5.5不需要

2) 执行时出现没有编译器错误,安装g++:

yum install gcc-c++

然后重新执行configure命令

make

编译源代码并生成执行文件

make install

把生成的文件拷贝到Linux系统必要的目录下,如/usr/local/bin,这样所有用户都可以运行程序。

4. python解释器指向python2.7

执行python,发现仍然使用Linux自带的python2.6.6

执行which python,找到python解释器地址,为:/usr/bin/python

将解释器指向新安装的python2.7.7,执行:

cd /usr/bin

rm python

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

再执行python,发现缺少python的lib库:

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解决方法1:

执行:vi /edt/ld.so.conf

添加libpython2.7.so.1.0的路径: /usr/local/Python2.7/lib

执行:/sbin/ldconfig -v

执行:ldd libpython2.7.so.1.0,可以找到:

/usr/local/Python2.7/lib:libpython2.7.so.1.0 -> libpython2.7.so.1.0

解决方法2:(我的环境采用解决方法1还是不正确)

cd /etc/ld.so.conf.d/ echo "/usr/local/Python2.7/lib" > python2.7.conf ldconfig

执行:python,显示:

Python 2.7.7 (default, Dec 15 2014, 13:30:16)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

表示解释器已经正确指向python2.7

5. 后续工作

由于yum使用了原来python2.6的一些脚本,需要将yum重新导向原来的python2.6解释器才可以使用

执行:which yum,找到yum位置:/usr/bin/yum

编辑:vi /usr/bin/yum,修改路径为: #!/usr/bin/python2.6

python2.7安装完成。

下面介绍一些python模块的安装:message,cx_Oracle, cython

二、安装message模块

安装包:setuptools-7.0,message-0.2.1.tar.gz

1. 安装setuptools

setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,可以让程序员更方便的创建和发布 Python 包。

当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。所以如果要使用easy_install的命令就需要安装setuptools。

解压:tar -xzvf setuptools-7.0.tar.gz

进入目录:cd setuptools-7.0

编译:python setup.py build

安装:python setup.py install

执行安装时报错:

RuntimeError: Compression requires the (missing) zlib module

缺少zlib模块,zlib模块用来压缩和解压缩数据,以便保存和传输

安装:yum install zlib-devel

这里报错则需要重新进行python的make和makefile,所以建议在安装python之前就安装zlib

重新安装setuptools。

2. 安装message模块

解压:tar -xzvf message-0.2.2.tar.gz

进入目录:cd message-0.2.1

编译:python setup.py build

安装:python setup.py install

message模块安装完成。

3. 安装cx_Oracle

安装包:cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm

安装cx_Oracle时我们使用rpm包,这样在RHL6.6下更方便安装,不用考虑太多兼容性问题

执行:rpm -ivh cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm

执行:python,输入:import cx_Oracle

报错:

>>> import cx_Oracle

Traceback (most recent call last):File "<stdin>", line 1, in <module>

ImportError: No module named cx_Oracle

发现是python2.7下没有cx_Oracle.so动态链接库,cx_Oracle.so被放在了:/usr/lib/python2.7/site-packages

采用软链接方式:

ln -s /usr/lib/python2.7/site-packages/cx_Oracle.so /usr/local/Python2.7/lib/python2.7/site-packages/cx_Oracle.so

再次执行:python,输入:import cx_Oracle

会出现找不到oracle_client导致的问题,此时可以在环境变量中配置oracle_client,或在已经配好的用户下执行,

修改环境变量:vi .bash_profile 配置信息: export ORCL_HOME=/usr/lib/oracle/11.2/client***** export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORCL_HOME/lib export TNS_ADMIN=$ORCL_HOME/network/admin export PATH=$PATH:$ORCL_HOME/bin ORCL_HOME的具体路径以本地安装路径配置

source .bash_profile

成功:

Python 2.7.7 (default, Dec 15 2014, 13:30:16)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import cx_Oracle

>>>

cx_Oracle安装完成。

4. 安装cython

cython介绍见:http://docs.cython.org/en/latest/

安装包:cython-master.zip

解压:unzip -o cython-master.zip

进入目录:cd cython-master

安装:python setup.py install

可能出现错误:/usr/bin/ld: cannot find -lpython2.7, 这个错误的原因是库文件并没有导入的ld检索目录中,在/usr/lib, /usr/local/lib,或者其他自定义的lib下没有libpython2.7.so文件,实际在 /etc/ld.so.conf 我自定义的lib路径:/usr/local/Python2.7/lib下是有该文件的,原因未知

解决办法是重新建立软链接:

ln -s /usr/local/Python2.7/lib/libpython2.7.so.1.0 /usr/local/lib/libpython2.7.so

重新安装cython:python setup.py install

和之前同样的道理找不到cython解释器,在/usr/local/bin下建立软链接:

ln -s /usr/local/Python2.7/bin/cython /usr/local/bin/cython

执行:cython,显示:

Cython (http://cython.org) is a compiler for code written in the Cython language.  Cython is based on Pyrex by Greg Ewing.
Usage: cython [options] sourcefile.{pyx,py} ...
Options:   -V, --version                  Display version number of cython compiler   -l, --create-listing           Write error messages to a listing file   -I, --include-dir <directory>  Search for include files in named directory                                  (multiple include directories are al

(以下省略)

表示可以正常使用。

Linux安装python2.7的更多相关文章

  1. linux 安装 python2.7

    若新安装虚拟机,或者新装linux系统.需安装gcc等yum -y install gcc gcc-c++ autoconf automake cmake ntp rsync ssh vim  yum ...

  2. 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- ...

  3. Linux安装python2.7、pip和setuptools

    一.说明 CentOS6.5自带python环境为2.6,公司的python环境为2.7. 为了避免出现以后代码出现版本差异,所以把自带的2 .6版本升级到了2.7,过程十分曲折.... 中途遇到的问 ...

  4. 【Linux】 CentOS6.5安装Python2.7以及pip等工具

    原文地址 CentOS6.5下是原来就有python的,我的镜像里面自带的python版本是2.6.6.如果想要自己更新一个更加新的python版本可以这么做: 安装python2.7安装包. 从官网 ...

  5. Linux同时安装python2和Python3

    我们以Ubuntu 为例,默认地,Linux安装好后会默认安装python2版本: 安装Python3: For Debian:   [user@host]$ sudo apt-get install ...

  6. Linux下安装python-2.7 先zlib

    2018-04-25 发布 Linux下安装python-2.7  python 1.1k 次阅读  ·  读完需要 25 分钟 1 安装依赖的库 yum -y install python-deve ...

  7. Linux下安装Python2.7

    Linux下安装Python2.7 CentOS6.8 中默认安装了Python2.6,但是很多应用需要使用Python2.7,于是要学会如何在Linux下安装Python2.7,这里记录一下,免得以 ...

  8. linux下Python2.7编译安装PyQt5

    ---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- -----------点击此处链接至博客园原文----------- 功能说明:在ubuntu系 ...

  9. windows和linux下 Python2,Python3 的环境及安装

    目录 windows和linux下 Python2,Python3 的环境及安装 window下安装 一. 手动安装 二. pip安装 linux下 安装 更新Python 笔者有话 windows和 ...

随机推荐

  1. Python爬虫入门教程 7-100 蜂鸟网图片爬取之二

    蜂鸟网图片--简介 今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度. 安装模块常规套路 pip install aiohttp 运行之后等待,安装完毕,想要深造,那么官方文 ...

  2. HUSTOJ:Transit Tree Path

    问题 D: Transit Tree Path   You are given a tree with N vertices.Here, a tree is a kind of graph, and ...

  3. springboot集成下,mybatis的mapper代理对象究竟是如何生成的

    前言 开心一刻 中韩两学生辩论. 中:端午节是属于谁的? 韩:韩国人! 中:汉字是谁发明的? 韩:韩国人! 中:中医是属于谁的? 韩:韩国人! 中:那中国人到底发明过什么? 韩:韩国人! 前情回顾 M ...

  4. 消息队列中间件(二)使用 ActiveMQ

    ActiveMQ 介绍 Active MQ 是由 Apache 出品的一款流行的功能强大的开源消息中间件,它速度快,支持跨语言的客户端,具有易于使用的企业集成模式和许多的高级功能,同时完全支持 JSM ...

  5. Aooms_微服务基础开发平台实战_003_配置文件与简单的web环境搭建

    一.前言 本篇文章介绍两个重点 (1) 工程核心配置文件application.yml (2) 如何在一个标准的的SpringCloud工程上构建起一个基本的web结构 二.配置文件applicati ...

  6. Java开发笔记(十八)上下求索的while循环

    循环是流程控制的又一重要结构,“白天-黑夜-白天-黑夜”属于时间上的循环,古人“年复一年.日复一日”的“日出而作.日落而息”便是每天周而复始的生活.计算机程序处理循环结构时,给定一段每次都要执行的代码 ...

  7. Linux设置Swap虚拟内存方法

    linux可以文件或者分区来当作虚拟内存. 首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M): free -m 查看swap信息,包括文件和分区的详细信息 swapon -s或 ...

  8. 通过多线程处理提高Redis性能

    Redis通常被称为单进程单线程模型. 这不是真的! Redis还运行多个后端线程来执行后端清理工作,例如清理脏数据和关闭文件描述符.在Redis中,主线程负责主要任务,包括但不限于:接收来自客户端的 ...

  9. 在sublimen中整理CSS代码及其兼容性问题

    1,使用鼠标选中前面浅灰色缩进. 2,Ctrl+H 查找替换  点击 Find All 查找全部缩进. 3,按backspace向后删除两次,如下图所示: 4,向下按一次方向键,再向左按一次方向键,最 ...

  10. 流程控制值while 循环

    一.结束循环的两种方式 1. 修改条件tag=Truewhile tag: print(1) print(2) print(3) tag=False print(4) 2.while + break ...