Linux 升級 Python 至 3.x

原文鏈接:http://blog.csdn.net/liang19890820/article/details/51079633

--------------------------------------------

簡述

CentOS 7 中默認安裝了?Python,版本比較低(2.7.5),為了使用新版 3.x,需要對舊版本進行升級。

由于很多基本的命令、軟件包都依賴舊版本,比如:yum。所以,在更新?python?時,建議不要刪除舊版本(新舊版本可以共存)。

  • 簡述
  • 查看 Python 版本號
  • 下載新版本
  • 解壓縮
  • 安裝配置
  • 編譯 安裝
  • 驗證
  • 設置 3x 為默認版本
  • 配置 yum

版權所有:一去丶二三里,轉載請注明出處:http://blog.csdn.net/liang19890820

查看 Python 版本號

當?Linux?上安裝 Python 后(默認安裝),只需要輸入簡單的命令,就可以查看 Python 的版本號:

# python -V
Python 2.7.5
  • 1
  • 2
  • 1
  • 2

或者是:

# python --version
Python 2.7.5
  • 1
  • 2
  • 1
  • 2

可以看出,系統自帶的 Python 版本是 2.7.5。

下載新版本

進入?Python下載頁面,選擇需要的版本。

這里,我選擇的版本是 3.5.2 。

# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
  • 1
  • 1

這里寫圖片描述

解壓縮

下載完成之后,進行解壓縮:

# tar -zxvf Python-3.5.2.tgz
  • 1
  • 1

安裝配置

進入解壓縮后的目錄,安裝配置:

# cd Python-3.5.2/
# ./configure 
  • 1
  • 2
  • 1
  • 2

執行 ./configure 時,如果報錯:

configure: error: no acceptable C compiler found in $PATH

說明沒有安裝合適的編譯器。這時,需要安裝/升級 gcc 及其它依賴包。

# yum install make gcc gcc-c++ 
  • 1
  • 1

完成之后,重新執行:

# ./configure 
  • 1
  • 1

這里寫圖片描述

編譯 & 安裝

配置完成之后,就可以編譯了:

# make 
  • 1
  • 1

漫長的等待……完成后,安裝:

# make install 
  • 1
  • 1

驗證

安裝成功以后,就可以查看 Python 的版本了:

# python -V
Python 2.7.5
# python3 -V
Python 3.5.2
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

一個是舊版本 2.x,另外一個是新版本 3.x。

注意:在 /usr/local/bin/ 下有一個 python3 的鏈接,指向 bin 目錄下的 python 3.5。

設置 3.x 為默認版本

查看 Python 的路徑,在 /usr/bin 下面。可以看到 python 鏈接的是 python 2.7,所以,執行 python 就相當于執行 python 2.7。

# ls -al /usr/bin | grep python
-rwxr-xr-x.  1 root root      11216 121 2015 abrt-action-analyze-python
lrwxrwxrwx.  1 root root          7 830 12:11 python -> python2
lrwxrwxrwx.  1 root root          9 830 12:11 python2 -> python2.7
-rwxr-xr-x.  1 root root       7136 1120 2015 python2.7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

將原來 python 的軟鏈接重命名:

# mv /usr/bin/python /usr/bin/python.bak
  • 1
  • 1

將 python 鏈接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python
  • 1
  • 1

這時,再查看 Python 的版本:

# python -V
Python 3.5.2
  • 1
  • 2
  • 1
  • 2

輸出的是 3.x,說明已經使用的是 python3了。

配置 yum

升級 Python 之后,由于將默認的 python 指向了 python3,yum 不能正常使用,需要編輯 yum 的配置文件:

# vi /usr/bin/yum
  • 1
  • 1

同時修改:

# vi /usr/libexec/urlgrabber-ext-down
  • 1
  • 1

將 #!/usr/bin/python 改為 #!/usr/bin/python2.7,保存退出即可。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538499.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Sublime Text 3 配置python交互運行環境的快捷鍵

2019獨角獸企業重金招聘Python工程師標準>>> 使用Sublime Text 3能以輕量級的環境寫python腳本,運行python代碼。為了更加方便地調用python腳本,通過在Sublime Text 3中綁定快捷鍵的方式,實現一鍵調用python交互運行環境&#xff…

xftp如何搜索文件_頭條搜索站長平臺如何添加網站和sitemap文件?附圖文教程

頭條搜索站長平臺已經上線了,目前我們廣大站長都可以登錄該平臺后添加新網站和提交 sitemap 地圖文件,建議大家可以前往嘗試一下,多一個搜索平臺就多一條路,認為倒是挺好的。下面就跟大家簡單介紹頭條搜索站長平臺如何添加網站和提…

Angular4中常用管道

原文鏈接:http://blog.csdn.net/haijing1995/article/details/71404350 ----------------------------------------------------- Angular4中常用管道 通常我們需要使用管道實現對數據的格式化,Angular4中的管道和之前有了一些變化,下面說一…

mysql死鎖無法查詢_MySQL死鎖導致無法查詢

客服反饋后臺無法查詢,原因大概知道,是因為MySQL的事務產生了死鎖,以往都不知道是哪個事務鎖住了,只能很粗暴地重啟MySQL最近查找到一個方法,不用重啟MySQL,記錄如下登錄到MySQL,來看下有哪些My…

彩鉛練習,花船

圖片發自簡書App圖片發自簡書App

python 百度ocr識別_Python使用百度Ocr識別文字保存CSV

1.準備:1)Python開發環境, 筆者用的是3.7; 工具用的是Pycharm2)百度云后臺創建文字識別的應用, 獲取AppID, API key, Secret Key百度云后臺創建文字識別的應用3) 百度模塊pip install baidu-aip安裝百度模塊4) 要保存成csv需要用到pandas模塊pip Install pandas安裝…

chrome解決跨域(CORS)問題---chrome插件

1、chrome瀏覽器 chrome中跨域問題,可以安裝插件解決, 插件地址 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi 地址需要翻墻 翻墻hosts:https://laod.cn/hosts/2017-google-host…

我的女朋友漏電了–論C++中的失敗(failure),缺陷(bug)和異常(exception)

先做個廣告置入,如果喜歡這篇文章,你可以到 zhaoyan.website/blog 去查看于此類似的C/C文章。 我承認有點標題黨了,不過這真的是一篇寫軟件的文章,所以如果你已經抽出了一張面巾紙,那么趁早再把它完美的放回去。這篇軟…

SQLplus 和mysql區別_mysql和oracle的區別有哪些

MySQL和Oracle都是流行的關系數據庫管理系統(RDBMS),在世界各地廣泛使用;大多數數據庫以類似的方式工作,但MySQL和Oracle的這里和那里總是存在一些差異的。本篇文章就給大家比較Oracle和MySQL,介紹Oracle和MySQL之間的區別&#x…

127.0.0.1與localhost的區別

2019獨角獸企業重金招聘Python工程師標準>>> 區別1: localhost也叫local ,正確的解釋是:本地服務器 127.0.0.1在windows等系統的正確解釋是:本機地址(本機服務器) 他們的解析通過本機的host文件,windows自動將localhost解析為127.…

一個項目經理的貪嗔癡

我有時候在想,自己到底是一個什么角色?產品經理?還是一個項目經理?或者只是一個技術經理。 身邊一些朋友說,自己想轉行做一個產品經理,做一個偉大的產品。我奉勸他們說還是省省吧,在這樣一個二三…

mysql 索引_MySQL之索引

索引查找算法BTREEBTREE查找算法演變B-TREE :普通 BTREE,平衡多路查找樹(B-Tree)BTREE :葉子節點雙向指針BTREE(B*TREE):枝節點的雙向指針普通B-TREE增強版BTREE(B*TREE)總結:從上圖看出,在BTree上有兩個頭…

2010年寒假學習心得

本人的博客園博客:http://www.cnblogs.com/zengmiaogen 博客園是我早期發表的博文。 ------------------------------------------ 1、心態要好,要相信自己能完成,不要擔心自己完成不了,萬事開頭難,有挫折是正常的。…

利用5w1h寫出高效的git commit

創建git commit 模板 創建模板 在個人目錄下, 創建 .gitmessage vi .gitmessage 復制代碼并輸入以下信息 Who: Demand maker*When: versions affected*What:The content of the code changes* descrption: * wiki/task:Why:The reason*How:Influence of change* 復制…

python高維數據_t-SNE高維數據可視化(python)

t-SNE實踐——sklearn教程t-SNE是一種集降維與可視化于一體的技術,它是基于SNE可視化的改進,解決了SNE在可視化后樣本分布擁擠、邊界不明顯的特點,是目前最好的降維可視化手段。關于t-SNE的歷史和原理詳見從SNE到t-SNE再到LargeVis。代碼見下…

java數學計算表達式_Java初學者:內建函數計算簡單的數學表達式

這個應該在之前寫的,忘記了,補上這次我們說一下如何用java計算數學表達式的值,比如,我們要計算sin(pi/3) cos(pi/6) 5.6^3,怎么計算呢?這里我們需要用到java的math的內建函數,所謂內建函數&am…

你是怎樣的程序員?

一、程序員A 一個善于總結、能舉一反三,敢于承擔責任,敢于挑戰自我,擁抱新技術的程序員,他的年齡意味著豐富經驗,意味著效率。 他能指出并帶人繞過一個一個技術大坑,笑看風云而不掉進去; 他能指…

谷歌新作gVisor:VM容器融合技術已經到來

作者|秦承剛,吳啟翾,喻望,楊偉 編輯|張嬋 出處丨高效開發運維 5 月 2 日,谷歌發布了一款新型的沙箱容器運行時 gVisor,號稱能夠為容器提供更安全的隔離,同時比 VM 更輕量。容器基于共…

安卓androidstudio訪問本地接口_安卓開發之數據存儲在本地的四種方式

?安卓開發之數據存儲在本地的四種方式本地數據存儲,在安卓開發過程中是不可避免的一個話題。這些本地的數據可能是用戶的設置,程序的設置,用戶的數據圖片, 也可能是網絡傳輸的一些緩沖數據。基本上我們有4種方法可以存儲安卓程序的數據。第1…

java vector 線程安全_關于Vector到底是不是 線程安全的 問題

線程安全,在java的多并發編程中是重要概念,意思是,多個線程同時操作一個對象,在各種不同情況下,都不會造成不同的后果。一個經典問題,Vector到底是不是線程安全的?很多人都會回答,是…