Linux下Python3的源碼編譯安裝和卸載方法
[日期:2019-06-21] | 來源:博客園 作者:wuli瀟蕭 | [字體:大 中 小] |
(一)Linux下軟件的源碼編譯安裝和卸載方法
Linux下正常的編譯安裝/卸載
源碼的安裝一般由3個步驟組成:
- 配置(
configure
) - 編譯(
make
) #編譯產生的所有文件僅僅在當前目錄下,可以查看MakeFile文件查看編譯內容 - 安裝(
make install
)。 #執行MakeFile的INSTALL方法
configure
文件是一個可執行的腳本文件,它有很多選項,在待安裝的源碼目錄下使用命令./configure –help
可以輸出詳細的選項列表。
其中--prefix
選項是配置安裝目錄,如果不配置該選項,安裝后可執行文件默認放在/usr /local/bin
,庫文件默認放在/usr/local/lib
,配置文件默認放在/usr/local/etc
,其它的資源文件放在/usr /local/share
,比較凌亂。
如果配置了--prefix
,如:
$ ./configure --prefix=/usr/local/linuxidctest
安裝后的所有資源文件都會被放在/usr/local/linuxidctest
目錄中,不會分散到其他目錄。
使用--prefix
選項的另一個好處是方便卸載軟件或移植軟件
- 當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載干凈;
- 移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統下)
當然要卸載程序,也可以在原來的make
目錄下用一次make uninstall
,但前提是Makefile
文件有uninstall
命令。
make install PREFIX=path
這里PREFIX
必須大寫,其實絕大部分情況下 make install
都不能再指定 PREFIX
了,因為大部分程序都會 configure
時得到的 prefix
寫入 config.h
,然后在編譯時編譯到可執行文件內部,以便在執行時讀取資源文件等。
這樣在編譯完畢后,就不能再修改 prefix
了。只有運行時不需要資源文件的小工具,才可能在安裝的時候隨意選擇 PREFIX
,或者具有 loader
的大程序,在執行時通過 loader
傳入路徑……
關於卸載
如果安裝的時候指定了--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
選項時的目錄結構)。
(二)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
=================================================
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