linux下python3源碼安裝及卸載

 

Linux下Python3的源碼編譯安裝和卸載方法

[日期:2019-06-21] 來源:博客園  做者:wuli瀟蕭 [字體: ]
 
 

(一)Linux下軟件的源碼編譯安裝和卸載方法

Linux下正常的編譯安裝/卸載

源碼的安裝通常由3個步驟組成:html

  • 配置(configure)
  • 編譯(make)          #編譯產生的全部文件僅僅在當前目錄下,能夠查看MakeFile文件查看編譯內容            
  • 安裝(make install)。    #執行MakeFile的INSTALL方法

configure文件是一個可執行的腳本文件,它有不少選項,在待安裝的源碼目錄下使用命令./configure –help能夠輸出詳細的選項列表。python

其中--prefix選項是配置安裝目錄,若是不配置該選項,安裝後可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。linux

若是配置了--prefix,如:git

$ ./configure --prefix=/usr/local/linuxidctest

安裝後的全部資源文件都會被放在/usr/local/linuxidctest目錄中,不會分散到其餘目錄。redis

使用--prefix選項的另外一個好處是方便卸載軟件或移植軟件bash

  • 當某個安裝的軟件再也不須要時,只須簡單的刪除該安裝目錄,就能夠把軟件卸載乾淨;
  • 移植軟件只需拷貝整個目錄到另一個機器便可(相同的操做系統下)

固然要卸載程序,也能夠在原來的make目錄下用一次make uninstall,但前提是Makefile文件有uninstall命令。python2.7

make install PREFIX=path

這裏PREFIX必須大寫,其實絕大部分狀況下 make install 都不能再指定 PREFIX 了,由於大部分程序都會 configure 時獲得的 prefix 寫入 config.h,而後在編譯時編譯到可執行文件內部,以便在執行時讀取資源文件等。工具

這樣在編譯完畢後,就不能再修改 prefix 了。只有運行時不須要資源文件的小工具,纔可能在安裝的時候隨意選擇 PREFIX,或者具備 loader 的大程序,在執行時經過 loader 傳入路徑……post

關於卸載

若是安裝的時候指定了--prefix,直接刪除就好。若是沒有配置--prefix選項,,而且源代碼沒有提供make uninstall/distclean/veryclean的功能,則能夠經過如下方式能夠完整卸載:字體

找一個臨時目錄從新安裝一遍,如:

$ ./configure --prefix=/tmp/to_remove 
$ make && 'make install >&1|tee make.log'$

而後遍歷/tmp/to_remove的文件,刪除對應安裝位置的文件便可(由於/tmp/to_remove裏的目錄結構就是沒有配置--prefix選項時的目錄結構)。

這樣的壞處是有些文件夾還可能刪除不了(分不清是系統的仍是安裝上的)
 
常見的反安裝target有: make uninstall/distclean/veryclean 等等。若是沒有,事先記得記錄'make install'的全部輸出日誌,'make install &> |tee make.log'。
 
而後在日誌裏可以看獲得到底安裝了那些文件到那些位置,一般會使用'cp'或者'install'命令拷貝文件。

 

(二)debian 8 jessie安裝Python3.6

 debian 系統debian8官方中止更新維護了,目前apt源僅支持python3.4,debian8系統內置的python2爲python2.7.9,Python3版本爲3.42。

 想要安裝Python3.5及以上的版本,只能下載源碼編譯安裝,可是千萬不要手欠的去刪除系統自帶python3.4,

 不然後果請參考

      https://blog.csdn.net/lang523493505/article/details/76644666

 

須要安裝更高版本的python,例如python3.6 這樣作
 
      參考連接 https://unix.stackexchange.com/questions/332641/how-to-install-python-3-6

=================================================
pip3依賴系統內置的openssl包,先肯定apt-get install openssl

You can install Python-3.6 on Debian 8 as follows:

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar xvf Python-3.6.8.tgz
cd Python-3.6.8
./configure --enable-optimizations
make 
make altinstall 或者make install(試過成功了)
python3.6 -V
#建立軟連接,軟連接目的目錄已存在的先刪除
ln -s /usr/local/bin/python3.6 /usr/bin/python3
ln -s /usr/local/bin/pip3.6  /usr/bin/pip3

pip3 install redis (試過成功了)

 

(三)Linux下安裝python3後,pip3 install 報錯找不到ssl模塊

Python3 愈來愈火,要在Linux下安裝python3的需求也愈來愈多。。

官網 python.org 下載壓縮包,解壓


而後,在./configure的時候,須要加上  --enable-optimizations參數,這樣才能啓用不少功能。

網上看到不少人說要用 ./configure --with-ssl,這是沒用的,日誌上寫明白了 not recognized option '--with-ssl'。

編譯的時候日誌跑的很快,不少人就忽略了細節,年輕人,不要慌,回去翻翻日誌,你會有新發現,不少東西別人都給了提示的了。

接下來官方步驟

make && make install

從新試試

python3> import ssl

有了。

另外在編譯安裝git等工具時,都把 --enable-optimizations 參數帶上,這樣纔是以「官方發佈的穩定版本」編譯。

 

參考連接:

https://blog.csdn.net/Pretendness/article/details/80032016

https://www.linuxidc.com/Linux/2019-03/157703.htm

https://www.zhihu.com/question/20092756/answer/13948057

相關文章
相關標籤/搜索