【Linux】CentOS6上安裝Python3.7(config、make、make install)及「No module named '_ctypes'」/pip install時「ssl mo

1.下載安裝包

https://www.python.org/ftp/python/ 該目錄下選擇所須要的版本進行下載、解壓。python

 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz c++

 tar -xzvf Python-3.7.1.tgz shell

 

2.二進制文件安裝

  1.建立存放目錄

 mkdir /usr/local/python3  ui

  2.運行腳本configure

config是一個shell腳本,根據平臺的特性生成Makefile文件,爲下一步的編譯作準備。spa

能夠經過在 configure 後加上參數來對安裝進行控制,好比下面就是指定安裝目錄/usr/local/python3。code

若是沒有用這個選項,安裝過程結束後,該軟件所需的軟件被複制到不一樣的系統目錄下,比較混亂。
  cd Python-3.7.1 

 ./configure --prefix=/usr/local/python3 --with-ssl blog

./configure --enable-optimizations --prefix=/usr/local/python3

 

能夠經過 ./configure --help 查看詳細的說明幫助。ip

  3.make編譯make install安裝 

※若是有須要,會進行 make depend(一種makefile的規則,經過掃描一個目錄下的全部C\C++ 代碼,從而判斷出文件之間的依賴關係,如a.cc文件中調用了b.h(如以形勢include<b.h>),若是以後a.cc文件被改動,那麼只須要從新編譯a.cc文件,不須要編譯b.h文件。不然全部的文件都須要從新編譯)ssl

 

從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歸檔壓縮文件,而後手工編譯爲二進制可執行文件

  1. ./configure  檢查編譯環境/相關庫文件/配置參數,生成makefile
  2. make      對源代碼進行編譯,生成可執行文件
  3. 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

相關文章
相關標籤/搜索