Linux安裝python2.7

1、Python安裝python

以Python-2.7.7爲例,安裝包:Python-2.7.7.tgz如無特殊說明,如下安裝步驟都採用root用戶執行linux

1. 解壓Python-2.7.7.tgzc++

tar -xzvf Python-2.7.7.tgz程序員

 

2. 進入解壓產生的Python目錄bash

cd Python-2.7.7oracle

 

3. 安裝python2.7

此時能夠先安裝zlib模塊,見2.安裝message模塊ui

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

configure是源碼安裝的第一步,主要的做用是對即將安裝的軟件進行配置,檢查當前的環境是否知足安裝軟件的依賴關係。.net

關於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

 

2、安裝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

(如下省略)

表示能夠正常使用。

相關文章
相關標籤/搜索