1.下載安裝包
https://www.python.org/ftp/python/ 該目錄下選擇所需要的版本進行下載、解壓。
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar -xzvf Python-3.7.1.tgz
2.二進制文件安裝
1.創建存放目錄
mkdir /usr/local/python3
2.運行腳本configure
config是一個shell腳本,根據平台的特性生成Makefile文件,為下一步的編譯做准備。
可以通過在 configure 后加上參數來對安裝進行控制,比如下面就是指定安裝目錄/usr/local/python3。
./configure --prefix=/usr/local/python3 --with-ssl
./configure --enable-optimizations --prefix=/usr/local/python3
可以通過 ./configure --help 查看詳細的說明幫助。
3.make編譯make install安裝
※如果有需要,會進行 make depend(一種makefile的規則,通過掃描一個目錄下的所有C\C++ 代碼,從而判斷出文件之間的依賴關系,如a.cc文件中調用了b.h(如以形勢include<b.h>),如果之后a.cc文件被改動,那么只需要重新編譯a.cc文件,不需要編譯b.h文件。否則所有的文件都需要重新編譯)
從Makefile中讀取指令,根據makefile制定的規則,將c\c++文件編譯成*.o文件,然后進一步生成可執行文件。大多數的源代碼包都經過這一步進行編譯,(當然有些perl或python編寫的軟件需要調用perl或python來進行編譯)。
make && make altinstall
如果 在make過程中出現 error ,你就要記下錯誤代碼(注意不僅僅是最后一行),然后你可以向開發者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。
4.最后運行make clean
刪除一些臨時文件(刪除源代碼(C\C++ code)生成的執行文件和所有的中間目標文件)
3.創建軟連接
1 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 2 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
最后運行python3查看是否安裝成功
4.總結安裝過程
絕大數開源軟件都是公布源代碼的,源代碼一般被打包為tar.gz歸檔壓縮文件,然后手工編譯為二進制可執行文件
- ./configure 檢查編譯環境/相關庫文件/配置參數,生成makefile
- make 對源代碼進行編譯,生成可執行文件
- make install 將生成的可執行文件安裝到當前計算機中特點;
兼容性好/可控制性好/開源軟件會大量使用其他開源軟件的功能,要解決大量的依賴關系
5.安裝時報錯ModuleNotFoundError: No module named '_ctypes'的解決辦法
yum install libffi-devel
然后從config開始重新安裝
6.pip3 install時報錯“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.”
先安裝openssl-dev,然后重新編譯安裝,只是在編譯的過程中加入 --enable-optimizations