Linux – Python & pip

安裝 Python 與 pip , 測試環境為 CentOS 6.8 x64 (虛擬機)

前置作業 – 所需套件

[root@localhost ~]# yum groupinstall development
[root@localhost ~]# yum -y install gcc openssl-devel bzip2-devel zlib-devel 

Python

透過 yum 就可以安裝 Python ,但版本是 2.6.6 .

[root@localhost ~]# yum -y install python
[root@localhost ~]# python -V
Python 2.6.6

需要使用較新本的 Python 3.x 需要自行編輯.目前官方網站 https://www.python.org/downloads/release/python-365/ 最新版本為 3.6.5 .

[root@localhost ~]# cd /usr/src  
[root@localhost src]# wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
[root@localhost src]# tar zxvf Python-3.6.5.tgz
[root@localhost src]# cd Python-3.6.5
[root@localhost Python-3.6.5]# ./configure
[root@localhost Python-3.6.5]# make altinstall
...
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.3 setuptools-39.0.1

避免覆蓋掉舊版的 Python ,所以使用 make altinstall .但需要自行建立 softlink.

[root@localhost Python-3.6.5]# cd /usr/bin
[root@localhost bin]# ln -s /usr/src/Python-3.6.5/python python3

最後確認一下 Python 版本是否為 3.6.5

[root@localhost bin]# python3 -V
Python 3.6.5

Python 使用 pip 當做套件管理工具,剛剛安裝完 Python 之後會直接幫我們安裝 pip.

[root@localhost ~]# pip3.6 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

pip

如沒有安裝 pip 可以自行安裝,預設的 YUM Repo 並沒有 pip 這套件,需要新增 Repo 檔 (epel-release, Extra Packages for Enterprise Linux) 來安裝.

[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install python-pip
[root@localhost ~]# pip2.6 -V
pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)
[root@localhost ~]# pip install --upgrade pip
....
Installing collected packages: pip
  Found existing installation: pip 7.1.0
    Uninstalling pip-7.1.0:
      Successfully uninstalled pip-7.1.0
Successfully installed pip-10.0.1

不透過 yum 可以利用 python 本身來安裝 pip

[root@localhost ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
[root@localhost ~]# python get-pip.py

常見錯誤:
pip SyntaxError: invalid syntax
建議先更新 python 版本.

Ignoring ensurepip failure: pip 6.0.8 requires SSL/TLS
缺乏 openssl-devel 套件,其他是建議套件.

[root@localhost ~]# yum -y install openssl-devel
[root@localhost ~]# yum -y install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel

can’t decompress data; zlib not available
缺乏 zlib-devel 套件

[root@localhost ~]#  yum -y install zlib*

SyntaxError: invalid syntax

[root@localhost ~]# yum update
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

yum 使用的 python 版本被修改了,RHEL 預設使用 2.6.6 ,需修改回來.

[root@localhost ~]# cd /usr/bin
[root@localhost bin]# cp python2.6 python

One thought on “Linux – Python & pip

  1. 通告: Drupal | Benjr.tw

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料