【Linux】Linux服務器安裝python3.7

Linux服務器系統默認的python版本通常是python2,如果需要使用最新的python3那麼我們可以編譯安裝源碼包到獨立目錄,這和系統默認環境之間是沒有任何影響的,python3和python2兩個環境並存。

  • Python官網下載python,下載之後的安裝包“Python-3.7.3.tgz”保存到了本地的電腦上,需要scp的服務器的指定路徑下。也可以使用wget命令直接在服務器上獲取。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
  • 解壓安裝包
tar -xvzf Python-3.7.3.tgz
  • 爲pythoh3指定一個目錄
mkdir /usr/local/python3
  • 配置編譯
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl  # --with-ssl最好配置上,否則在使用pip的時候可能會報TLS/SSL不可用的error,這裏對ssl的版本也有要求,低版本的ssl會配置失敗

在編譯的過程中,指定了安裝路徑,指定了安裝路徑有利於後期對python3的使用與管理。

  • 對源代碼進行編譯,生成可執行文件
make
  • 安裝
make install

果斷報錯:ModuleNotFoundError: No module named '_ctypes'

解決方法,安裝需要的依賴

yum install libffi-devel

命令安裝成功後,重新執行4、5、6步對應的3個命令。如果沒有其他error拋出的話,到這裏python3已經安裝成功了,但是還需要進行一些配置才能夠使用。

  • 創建python3的軟連接
mv /usr/bin/python /usr/bin/python_bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  • 執行檢查

  • python2與python3版本切換

系統在很多時候仍然需要使用python2,比如yum命令,這時候就需要切換回python2版本。想要爲某個特定用戶修改python版本,只需要在其home目錄下創建一個alias(別名)即可。然後打開該用戶的 ~/.bashrc 文件,添加新的別名信息來修改默認使用的 python版本。 

vi ~/.bashrc

# 切換python2
alias python='/usr/bin/python2.7'

# 切換python3
alias python='/usr/bin/python'  # 這裏不需要添加python3的版本號,因爲/usr/bin/python已經是python3了

完成上面的操作後,需要重新加載 .bashrc 文件,使操作生效。

$ . ~/.bashrc

再次檢查默認的python版本,切換成功。


安裝Python3.7遇到的坑

  • pip install 找不到ssl

出現這個問題的原因是Python3.7需要更高級的ssl版本,需要升級ssl,研究了半天如何升級ssl最終還是沒有成功。。。

考慮到python2和python3同時擁有pip,可以使用如下方法臨時運行pip  install:

python2 -m pip install XXX
python3 -m pip install XXX

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章