前言
在Linux系統中,一般都自帶Python,不過Linux下自帶Python大都是 2.x版本,如果我們想要使用python3的話,最好是再重新裝一個Python3的環境,讓python2和python3共存。
注意:最好不要刪除自帶的python2,因為可能有其他地方依賴python2,直接刪掉的可能會導致其他的問題。
下載python3安裝包
本次我們要安裝的是 Python 3.6.8
,可以在 windows 下載好上傳到 Linux服務器,也可以在Linux中通過 wget
命令python3安裝包。
python各版本下載地址:https://www.python.org/ftp/python/
如下,我們要下載后綴為 tgz
的安裝包。
在Linux下新建一個目錄,用於存放下載的安裝包,接着進入python36目錄下,再通過 wget
命令下載。
新建python36目錄命令:mkdir /root/python36
下載安裝包命令:wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
解壓安裝包
下載完成,將安裝包解壓到當前目錄:tar -xvf Python-3.6.8.tgz
解壓完成后,python36目錄下的文件如下:
安裝依賴包
在安裝python3前,我們需要安裝一些必要的依賴包,直接通過 yum
命令安裝即可。命令如下:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
指定python3安裝路徑
我們在這里最好指定一下python3的安裝路徑,這樣當我們想要卸載python3時,直接將安裝目錄刪掉就行。
先進入Python36下的Python-3.6.8目錄:cd Python-3.6.8
指定python3安裝路徑:./configure --prefix=/root/python36
安裝python3
在Python-3.6.8目錄下安裝,安裝時分2步,第一步使用命令 make 先編譯,第二步使用命令 make install 進行安裝。安裝時間可能有點長,請多花點耐心等待。
[root@bogon Python-3.6.8]# make
[root@bogon Python-3.6.8]# make install
添加軟鏈接
安裝完成后,我們需要設置一下軟鏈接,軟鏈接可以簡單理解為windows下的桌面快捷方式。
系統自帶的 python2 中,在終端輸入命令 python ,最終是指向 python2 。我們的想法是,如果使用新安裝的python3.x版本,在終端直接輸入 python3 就可以進行其交互界面。
我們先退出到 python36 目錄,發現安裝完python3之后,其下面多了很多文件,我們進入到 bin 目錄下可以看到python3的程序。
在這里,我們設置軟鏈接,直接讓新安裝的python3.6指向給 /usr/bin/python3
,讓 pip3 指向給/usr/bin/pip3
。
添加python3軟鏈接:ln -s /root/python36/bin/python3.6 /usr/bin/python3
添加pip3軟鏈接:ln -s /root/python36/bin/pip3 /usr/bin/pip3
接着,在終端輸入 python3 或 pip3 便不會報錯提示找不到命令了。
如果要使用 python2.x 版本 ,則和原來一樣,可以使用 python2 和 pip2 命令。
linux中make install指定安裝目錄
在linux開發中,我們經常需要安裝一些第三方軟件。通常情況下,我們可以直接sudo apt-get install software_name 來安裝一個軟件,但是在實際開發過程中,由於開發需求,我們需要對一些軟件進行源碼安裝。
我們下載軟件源碼包並且解壓后,通常都會發現解壓目錄中有configure文件,該文件里配置了編譯的一些參數,如果沒有特殊要求,我們只要執行如下命令,便可完成源碼編譯安裝:
./configure
make
sudo make install
但是由於某些需求,我們需要把軟件編碼編譯到一個指定的目錄中,要想改變軟件的安裝目錄,有以下幾種方法可以實現:
1. 修改configure文件中prefix的值:
用vi/vim打開configure文件,然后找到prefix值,修改未prefix=你的安裝目錄,然后保存退出,再執行./configure & make & sudo make install就可以,不過該方法比較麻煩,會容易改動到configure文件的其他的參數,不建議使用。
2.執行configure文件時指定安裝目錄:
./configure --prefix=/home/user/zws/build
3.在make install指定DESTDIR參數:
./configure
make
make install DESTDIR= /home/user/zws/build
需要注意的是,在指定安裝目錄的時候,目錄好像要寫絕對路徑