1. 程式人生 > >Linux中安裝Python2.7

Linux中安裝Python2.7

目錄 ron 文件 red ftw The find ack 並且

原文地址:http://www.jianshu.com/p/6425d18d3e47

安裝依賴的庫
yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel libxslt-devel

下載python 2.7.13

www.python.org

1  [root@server2 ~]# mkdir /software
2  [root@server2 ~]# cd /software/ 
3  [root@server2 software]# wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz 
4 [root@server2 software]# ll 5 總用量 36852 6 -rw-r--r-- 1 root root 17076672 12月 18 04:21 Python-2.7.13.tgz 7 -rw-r--r-- 1 root root 20656090 1月 17 16:07 Python-3.5.3.tgz

解壓文件

[root@server2 software]# tar -zxf Python-2.7.13.tgz 

進入目錄

[root@server2 software]# cd Python-2.7.13

編譯安裝

1 [root@server2 Python-2.7.13]#
./configure --prefix=/usr/local/python2.7 --with-threads --enable-shared 2 [root@server2 Python-2.7.13]# make && make altinstall

備份舊python相關命令

1 ===> 有些版本/usr/bin/目錄下不存在pip 忽略下面第一行命令即可
2 [root@server2 Python-2.7.13]# mv /usr/bin/pip /usr/bin/pip_old
3 [root@server2 Python-2.7.13]# mv /usr/bin/easy_install /usr/bin/easy_install_old 
4 [root@server2 Python-2.7.13]# mv /usr/bin/python /usr/bin/python_old

新版本python命令做軟連接,快捷使用

1 [root@server2 Python-2.7.13]# ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib 
2 [root@server2 Python-2.7.13]# ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib 
3 [root@server2 Python-2.7.13]# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python 
4 [root@server2 Python-2.7.13]# ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib64 
5 [root@server2 Python-2.7.13]# ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib64

測試python是否可以正常使用

1 [root@server2 ~]# python 
2 Python 2.7.13 (default, Apr 11 2017, 11:14:36) 
3 [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
4 Type "help", "copyright", "credits" or "license" for more information.
5 >>>

安裝pip

下載最新版的pip,然後安裝

1 [root@server2 Python-2.7.13]# cd /software/
2 [root@server2 software]# wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
3 [root@server2 software]# python get-pip.py

由於下載pip是基於https協議的,故需要在wget url後面加上--no-check-certificate,否則不能下載:

查找pip的位置

1 [root@server2 software]# find / -name pip 
2 /usr/local/python2.7/bin/pip

找到pip2.7的路徑,為其創建軟鏈作為系統默認的啟動版本

[root@server2 software]# ln -s /usr/local/python2.7/bin/pip /usr/bin/pip

測試pip是否可用

 1 [root@server2 software]# pip install Pillow 
 2 Collecting Pillow 
 3 Downloading Pillow-4.1.0-cp27-cp27m-manylinux1_x86_64.whl (5.7MB) 
 4 100% |████████████████████████████████| 5.7MB 129kB/s 
 5 Collecting olefile (from Pillow) 
 6 Downloading olefile-0.44.zip (74kB) 
 7 100% |████████████████████████████████| 81kB 541kB/s 
 8 Building wheels for collected packages: olefile 
 9 Running setup.py bdist_wheel for olefile ... done 
10 Stored in directory: /root/.cache/pip/wheels/20/58/49/cc7bd00345397059149a10b0259ef38b867935ea2ecff99a9b 
11 Successfully built olefile 
12 Installing collected packages: olefile, Pillow 
13 Successfully installed Pillow-4.1.0 olefile-0.44

安裝easy_install

下載最新版的easy_install,然後安裝

1 [root@server2 software]# wget https://bootstrap.pypa.io/ez_setup.py 
2 [root@server2 software]# python ez_setup.py

找到easy_install的路徑,為其創建軟鏈作為系統默認的啟動版本

[root@server2 software]# ln -s /usr/local/python2.7/bin/easy_install /usr/bin/easy_install

測試easy_install是否可用

 1 [root@server2 software]# easy_install beautifulsoup4 
 2 Searching for beautifulsoup4 
 3 Reading https://pypi.python.org/simple/beautifulsoup4/ 
 4 Downloading https://pypi.python.org/packages/9b/a5/c6fa2d08e6c671103f9508816588e0fb9cec40444e8e72993f3d4c325936/beautifulsoup4-4.5.3.tar.gz#md5=937e0df0d699a1237646f38fd567f0c6 
 5 Best match: beautifulsoup4 4.5.3 
 6 Processing beautifulsoup4-4.5.3.tar.gz 
 7 Writing /tmp/easy_install-OSpCW5/beautifulsoup4-4.5.3/setup.cfg 
 8 Running beautifulsoup4-4.5.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-OSpCW5/beautifulsoup4-4.5.3/egg-dist-tmp-m3PXo5 
 9 zip_safe flag not set; analyzing archive contents... 
10 Moving beautifulsoup4-4.5.3-py2.7.egg to /usr/local/python2.7/lib/python2.7/site-packages 
11 Adding beautifulsoup4 4.5.3 to easy-install.pth file 
12 
13 Installed /usr/local/python2.7/lib/python2.7/site-packages/beautifulsoup4-4.5.3-py2.7.egg
14 Processing dependencies for beautifulsoup4
15 Finished processing dependencies for beautifulsoup4

yum 安裝工具只支持系統自帶的python版本, 修改配置文件使其可正常使用

查看原版本python

1 [root@server2 software]# ll /usr/bin/python* 
2 lrwxrwxrwx 1 root root 34 4月 11 11:20 /usr/bin/python -> /usr/local/python2.7/bin/python2.7 
3 lrwxrwxrwx 1 root root 6 2月 15 14:33 /usr/bin/python2 -> python 
4 -rwxr-xr-x 2 root root 9032 8月 18 2016 /usr/bin/python2.6 ==> 這個就是系統自帶的python 
5 -rwxr-xr-x 1 root root 1418 8月 18 2016 /usr/bin/python2.6-config 
6 lrwxrwxrwx 1 root root 16 4月 11 10:47 /usr/bin/python-config -> python2.6-config 
7 -rwxr-xr-x 2 root root 9032 8月 18 2016 /usr/bin/python_old

修改配置文件 /usr/bin/yum

#!/usr/bin/python  ===>  修改為  #!/usr/bin/python2.6

測試yum是否可用

1 [root@server2 software]# yum -y install python-devel 
2 已加載插件:fastestmirror, security 
3 設置安裝進程 
4 Loading mirror speeds from cached hostfile 
5 * epel: mirrors.aliyun.com 
6 包 python-devel-2.6.6-66.el6_8.x86_64 已安裝並且是最新版本
7 無須任何處理

好了,大功告成。

優化

編寫一鍵安裝python2.7的腳本

由於Centos 6.x的系統默認都是python2.6 ,如果服務器需要用2.7環境的話每臺都得手動操作升級,工作量比較大, 編寫腳本提升效率。(Centos 7.x版本的默認的python都是2.7.5版本)

創建用於存放python腳本(install_py27.sh)的目錄

1 [root@server2 software]# mkdir /script/python/ 
2 [root@server2 software]# cd /script/python/

由於國外python網站下載python安裝包緩慢,可以提前下載下來,和install_py27.sh放在一起,在腳本中直接解壓本地文件進行安裝

開始編寫腳本 install_py27.sh

 1 #!/bin/sh 
 2 # __author__ = ‘junxi‘  
 3  
 4 # This script is used by fast installed python2.7 ...... 
 5 # write by 2017/04/11  
 6  
 7 echo "##############start run install for python2.7 script############" 
 8 yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel libxslt-devel 
 9 mkdir /software 
10 mv Python-2.7.13.tgz /software 
11 cd /software 
12 tar -zxf Python-2.7.13.tgz 
13 cd Python-2.7.13/ 
14 ./configure --prefix=/usr/local/python2.7 --with-threads --enable-shared 
15 make 
16 make altinstall 
17 mv /usr/bin/pip /usr/bin/pip_old 
18 mv /usr/bin/easy_install /usr/bin/easy_install_old 
19 mv /usr/bin/python /usr/bin/python_old 
20 ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib 
21 ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib 
22 ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python 
23 ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib64 
24 ln -s /usr/local/python2.7/lib/libpython2.7.so.1.0 /usr/lib64 
25 cd /software 
26 wget https://bootstrap.pypa.io/get-pip.py 
27 python get-pip.py 
28 ln -s /usr/local/python2.7/bin/pip /usr/bin/pip 
29 echo "############更換pip源為國內淘寶源##########"
30 mkdir /root/.pip/
31 touch /root/.pip/pip.conf 
32 cat >> /root/.pip/pip.conf << EOF 
33 [global] 
34 index-url=http://mirrors.aliyun.com/pypi/simple/  
35  
36 [install] 
37 trusted-host=mirrors.aliyun.com 
38 EOF  
39  
40 pip install Pillow 
41 sed -i s#\/usr/bin/python#\/usr/bin/python2.6#g /usr/bin/yum 
42 yum -y install python-devel 
43 echo the install script is the end......

把Python-2.7.13.tgz文件和install_py27.sh腳本下載下來,放在同一個目錄下:

運行下面命令進行安裝

/bin/sh install_py27.sh

安裝完成後執行python查看版本

1 [root@server2 ~]# python 
2 Python 2.7.13 (default, Apr 11 2017, 11:14:36) 
3 [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
4 Type "help", "copyright", "credits" or "license" for more information.
5 >>> print ‘success‘
6 success

Linux中安裝Python2.7