標籤:Python
今天在虛擬機器中安裝了 CentOs 7 ,安裝完成後發現其內建的 Python 環境只有 Python 2.7 ,還需自己安裝 Python 3,這點就不像 Ubuntu 那麼友好了,希望將來會內建 Python 3 吧。
pip2 安裝在最後
首先去官網下載 Python 3 的源碼包唄。手動略過。。。
下載後先解壓:
注 以下所有命令均在 root 環境下,因為某些許可權問題
tar -xzvf Python-3.6.5.tgz
xzvf 自行輸入 tar --help 查看
進入 Python-3.6.5:
cd Python-3.6.5
./configure --prefix=/usr/local/python3.6
確定安裝目錄 可以輸入 ./configure --help 查看選項開始編譯 安裝
make && make install
忘了說一件事,編譯需要 gcc 所以,聰明的你肯定早已安裝了
yum install gcc
在編譯安裝結尾中會報出錯誤,意思就是缺少一個模組,大概是這樣,忘記了。。。
zipimport.ZipImportError: can‘t decompress data;zlib not avaliable
make: *** [install] Error 1
這是因為 Python 需要解壓某些東西,需要這個模組,所以去安裝吧:
yum install zlib-devel
安裝完成後,開啟 Python 3 會發現裡面上下鍵不能用,這就尷尬了,原來是缺少一個模組用來轉義,這些都是曆史原因。有興趣試一試後可以搜一搜。解決辦法就是安裝:
yum install readline-devel
再次 make && make install ,細心的你在 make && make install 過程中會發現有些問題,我還是沒。。
這就是缺少某些模組,不過你用不到就沒關係,為了以後,還是安裝一下吧:
yum install bzip2-devel
yum install sqlite-devel
yum install gdbm-devel
yum install tk-devel
缺少什麼對照自己電腦上出現的東西百度一下就可以找到了
然後繼續 make && make install ,不出意料這次就會大功告成了!但是還有一個大問題,你輸入 python3 大概不會進入解譯器,因為它沒有進入到環境變數中。建立軟連結:
使 python3 和 pip3 生效
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
好奇怪,為什麼 local 會變色
好了,就到這裡了。
順便提一句,CentOs 中的 Python 2.7 沒有 pip 需要自己安裝。
yum 的官方倉庫中又沒有 pip,所以可以安裝 EPEL,我一開始對這個東西也是懵的,這是什嗎?
企業版 Linux 附加軟體包(以下簡稱 EPEL)是一個 Fedora 特別興趣小組,用以建立、維護以及管理針對企業版 Linux 的一個高品質附加軟體包集,面向的對象包括但不限於 紅帽企業版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。
說白了就是另外一個倉庫,裡面又好多軟體。根據這個官方教程的指令:
這是 CentOs 7 的
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
一路 yes 之後,運行:
yum install python-pip
之後 pip2 就可以正常使用了。
具體可以到 /usr/bin/ 下 ls pip 或 ls python 查看。
在 CentOs 中安裝 Python3 和 pip2