一、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. Java多线程之Executor框架和手写简易的线程池

    目录 Java多线程之一线程及其基本使用 Java多线程之二(Synchronized) Java多线程之三volatile与等待通知机制示例 线程池 什么是线程池 线程池一种线程使用模式,线程池会维 ...

  2. Chapter 4 Invitations——16

    While I was sitting there, looking everywhere but at the car in front of me, I heard a knock on my p ...

  3. ES6躬行记(18)——迭代器

    ES6将迭代器和生成器内置到语言中,不仅简化了数据处理和集合操作,还弥补了for.while等普通循环的不足,例如难以遍历无穷集合或自定义的树结构等. 迭代器(Iterator)是一种用于迭代的对象, ...

  4. Springboot 系列(二)Spring Boot 配置文件

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 不管是通过官方提供的方式获取 Spring ...

  5. 第37章 资源所有者密码验证(Resource Owner Password Validation) - Identity Server 4 中文文档(v1.0.0)

    如果要使用OAuth 2.0资源所有者密码凭据授权(aka password),则需要实现并注册IResourceOwnerPasswordValidator接口: public interface ...

  6. [争什么! 掺在一起做撒尿牛丸啊! 笨蛋]ASP.NET Core 2.0 + EF6 + Linux +MySql混搭

    好消息!特好消息!同时使用ASP.NET Core 2.0和.NET Framework类库还能运行在linux上的方法来啦! 是的,你没有看错!ASP.NET Core 2.0,.NET Frame ...

  7. Java 由浅入深GUI编程实战练习(一)

    项目简介: 1.实现利用下拉菜单的方式选择发送快捷语句: 2.实现对留言信息内容的置顶处理以及至尾处理: 3.实现清屏处理或现实保留部分留言内容: 运行界面: 代码展示: import java.aw ...

  8. You are what you write——沈向洋

    title: You are what you write--沈向洋 date: 2018-02-21 13:18:28 tags: [随想,write] categories: 个人文章 --- A ...

  9. 【大数据】了解Hadoop框架的基础知识

    介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...

  10. jQuery实现简单的图片淡入淡出效果

    整体思路: 1.实现页面布局,设置css样式 2.用jQuery获取需要用到的变量 3.用jQuery为两个按钮绑定事件 一.页面布局: <div class="d1"> ...