網(wǎng)站性能檢測(cè)評(píng)分
注:本網(wǎng)站頁面html檢測(cè)工具掃描網(wǎng)站中存在的基本問題,僅供參考。
python3好還是python2好
神級(jí)程序員把Python2和3當(dāng)中最常見的問題都收集了!很全面的總結(jié) 推廣視頻課程
Mac OSX本身系統(tǒng)自帶Python2.7,但 不建議直接使用、刪除和更改 ,因?yàn)榭赡苡行┏绦蚴切枰蕾囅到y(tǒng)自帶的python 2.*,盲目修改后可能會(huì)導(dǎo)致系統(tǒng)產(chǎn)生未知錯(cuò)誤。
所以建議在 不修改系統(tǒng)的python條件下 搭建Python雙版本環(huán)境。在給大家分享之前呢,小編推薦一下一個(gè)挺不錯(cuò)的交流寶地,里面都是一群熱愛并在學(xué)習(xí)Python的小伙伴們,大幾千了吧,各種各樣的人群都有,特別喜歡看到這種大家一起交流解決難題的氛圍,群資料也上傳了好多,各種大牛解決小白的問題,這個(gè)Python群:330637182 歡迎大家進(jìn)來一起交流討論,一起進(jìn)步,盡早掌握這門Python語言。
Mac OSX在系統(tǒng)自帶的python之外,可以 安裝Python2.7和Python3.5/3.6版本 ,并且雙版本兼容。
本文下方,防止原文鏈接失效】
在參考的安裝流程中,我發(fā)現(xiàn)了一些問題并進(jìn)行了解決,列出問題及解決方法如下:
1.Python2.7安裝后,按原文博主的安裝方法無法修改系統(tǒng)默認(rèn)的Python命令為自己安裝Python路徑和版本:
解決方法:
打開系統(tǒng)配置文件:
vi ~/.bash_profile
添加入自己的安裝的Python2.7的路徑地址:
PATH="/usr/local/Cellar/python/2.7.14/bin:${PATH}"
讓PATH變量生效:
source ~/.bash_profile
我們看到,命令行輸入 which python2.7 時(shí),路徑地址改變,不再是系統(tǒng)默認(rèn)地址:
python2.7
我們前往路徑地址修改添加 python
文件:(復(fù)制一個(gè)python2.7然后重命名為python即可)
前往路徑地址修改添加`python`文件
這樣默認(rèn)的python即修改為我們所安裝的python2.7版本,而非系統(tǒng)自帶的python路徑,命令行輸入 which python
查看:
查看所安裝的python2.7版本
這樣,我們就將系統(tǒng)的默認(rèn)python命令鏈接到了我們所安裝的python目錄下,而非系統(tǒng)自帶的python路徑。
2.Python2.7和Python3.6安裝后,pip2和pip3下載的包仍在Mac OSX系統(tǒng)自帶的Python2.7的包目錄下,而非Python2.7和Python3.6的安裝目錄:
問題圖示如下:
pip的version都是系統(tǒng)自帶python的包下載路徑:
pip的version都是系統(tǒng)自帶python的路徑
pip的路徑都是系統(tǒng)自帶python的路徑,而非我們的安裝路徑:
python的路徑
添加入自己的安裝的Python2.7和Python3.6的路徑地址:
我們看到,命令行輸入 which pip 和 pip --version 時(shí),pip的路徑地址改變,pip下載的包的地址也改變,不再是系統(tǒng)默認(rèn)地址:
pip版本顯示
這樣,即可保證使用pip下載的包路徑正確,且和我們所安裝的兩個(gè)版本python分別對(duì)應(yīng)。
3.Pip總是不能正常下載包,安裝模塊包ConnectTimeoutError錯(cuò)誤:
我們?cè)谑褂胮ip無法正常下載包的時(shí)候可以使用國(guó)內(nèi)鏡像服務(wù),如用豆瓣的源下載安裝 selenium 包:
pip install selenium -i http://pypi.douban/simple --trusted-host pypi.douban
如果是要給python3下載依賴,注意pip和python版本對(duì)應(yīng),同理:
pip3 install selenium -i http://pypi.douban/simple --trusted-host pypi.douban
這樣,即可正常的使用pip來下載安裝包了。
安裝流程
主要就這幾個(gè)步驟而已,不會(huì)太困難的(或許有些你本來就裝好了)
Step 2 安裝套件管理工具Homebrew
Step 4 設(shè)定路徑$PATH(不跟系統(tǒng)Python 打架)
Step 5 完成啰!確認(rèn)安裝結(jié)果~
Step 1 安裝Xcode
可以到App Store搜尋Xcode并安裝安裝好了之后就把Xcode打開~第一次開啟的時(shí)候會(huì)需要同意他的License Agreement之類的東西。然后到terminal輸入來安裝Xcode command line tool:
xcode-select--install
安裝Xcode 就到此結(jié)束啰,要進(jìn)入下一個(gè)步驟了!
Step 2安裝套件管理工具: Homebrew
可以到官網(wǎng)或是在terminal 里貼上:
ruby-e"$(curl -fsSL https://raw.githubusercontent/Homebrew/install/master/install)"
安裝好后可以跑一下
brew doctor
如果出現(xiàn)
Your system is ready to brew.
代表萬事OK,那如果有Warning的話,也不用太擔(dān)心,可以按照里面的步驟去修正就好啰!
如果有出現(xiàn)Warning的話,雖然會(huì)在上面看到一句
If everything you use Homebrew for is working fine: please don't worry and just ignore them.
不過還是建議大家把東西裝好,才不會(huì)到時(shí)候忘記自己到底什么東西還沒設(shè)定好。
Step 3 安裝Python
接下來要正式進(jìn)入安裝Python的步驟了!
首先,輸入
python --version
天哪!都還沒開始裝Python,電腦里面怎么已經(jīng)有了?
這是Mac系統(tǒng)要使用的Python,所以平常沒適不要去亂動(dòng)比較好唷!
所以現(xiàn)在我們要用homebrew來安裝平常可以(亂搞?)使用的Python。
利用homebrew 搜尋Python
brew search python
這時(shí)候,會(huì)看到python和python3。
因?yàn)槲乙呀?jīng)裝了,所以旁邊會(huì)寫(installed)。要安裝Python啰!
brew install python
這樣就開始安裝了。
裝完之后在輸入
brew install python3
在安裝的時(shí)候,Python 會(huì)被安裝在
/usr/local/Cellar
那就來看看這個(gè)資料夾吧
open /usr/local/Cellar/
就可以看到你正在安裝的Python出現(xiàn)了!
除了Python之外,也有可能會(huì)裝一些其他的東西,例如sqlite。
總之,不用太擔(dān)心,homebrew會(huì)自己搞定。
(因?yàn)槲已b了很多哩哩摳摳,所以你的資料夾里可能不會(huì)有這么多東西)
什么是路徑$PATH 呢?
還記得我們?cè)谘bPython的時(shí)候,輸入了brew,
系統(tǒng)就自動(dòng)會(huì)知道要開始跑homebrew。
系統(tǒng)到底怎么知道我們的brew在哪里?
這就是$PATH的用途了!
echo $PATH
接下來就會(huì)看到一串類似這樣的東西
/usr/bin**:**/bin**:**/usr/sbin**:**/sbin**:**/usr/local/bin
分號(hào)(:)是 分隔 的意思
所以當(dāng)你在terminal里面輸入brew時(shí)
系統(tǒng)就會(huì)開始從/usr/bin找起
如果在/usr/bin里面找不到的話
就會(huì)往下一個(gè)/bin去搜尋,以此類推
現(xiàn)在,我們回到資料夾去看
brew其實(shí)就在/usr/local/bin里面!
所以現(xiàn)在的問題就是,系統(tǒng)在/usr/bin里面也有一份Python
現(xiàn)在我們?cè)?usr/local/Cellar里面也裝了Python
這樣在terminal打上python指令時(shí),誰會(huì)被開啟呢?
因?yàn)槁窂接?順序 ,所以它會(huì)先找到系統(tǒng)的Python
現(xiàn)在就要來解決這個(gè)問題
sudo emacs/etc/paths
sudo讓我們?nèi)〉霉芾韱T權(quán)限
用emacs這個(gè)程式編輯路徑檔案
terminal會(huì)要求輸入密碼
(就是平常裝東西也需要輸入的密碼)現(xiàn)在要把/usr/local/bin移到上面去control + k:把一行字剪下來control + y:把字貼上control + x + s:存檔control + x + c:關(guān)掉emacs
這時(shí),再打一次
為什么沒有變!?
因?yàn)橐?開一個(gè)新的terminal 才會(huì)更新唷!
開新式窗后再輸入一次就會(huì)看到我們剛剛修改的結(jié)果了。
這樣就完成啰!
其實(shí)python3本身比較不會(huì)跟其他人打架
因?yàn)樗褪仟?dú)立的python3
所以我們主要是要確認(rèn)是不是讀到我們用brew裝的python
which python
這時(shí)候看到
/usr/local/bin/python
再來看看python3 吧
which python3
應(yīng)該會(huì)是
/usr/local/bin/python3
就代表讀到剛剛裝好的python啰!
當(dāng)然如果你要跑系統(tǒng)本身的python
(應(yīng)該是用不到啦~)
就輸入
/usr/bin/python
總之就是…大功告成啰!
謝謝閱讀!原文鏈接:
一個(gè)快速將python2代碼批量轉(zhuǎn)為python3代碼的好方法 企業(yè)視頻課程
由于python存在python2和python3兩個(gè)主要的版本方向,經(jīng)常會(huì)有將python2的代碼轉(zhuǎn)到python3的環(huán)境下運(yùn)行的需求。尤其是跑一些神經(jīng)網(wǎng)絡(luò)的代碼時(shí)有很多是在python2的環(huán)境下寫的。在python3下運(yùn)行會(huì)遇見很多不兼容,最常見的就是python3中print函數(shù)必須加()而python2中不是。一個(gè)一個(gè)修改這種錯(cuò)誤又非常麻煩。
此時(shí)一種方式是再安裝一個(gè)python2,比如下載anaconda對(duì)應(yīng)的python2的版本,管理相關(guān)的庫,運(yùn)行的時(shí)候指定python2運(yùn)行。不過如果是運(yùn)行依賴比較多的代碼可能需要在python2的環(huán)境安裝許多包。
這里介紹一個(gè)python3自帶的腳本2to3.py,可以將python2的程序自動(dòng)轉(zhuǎn)為python3的形式,節(jié)省了很多修改細(xì)節(jié)的時(shí)間。這個(gè)腳本在Python安裝目錄下Toolsscripts文件夾下,如果是利用anaconda3安裝的python3,就在anaconda3/Tools/scripts中,如下圖:
這個(gè)文件實(shí)際是可以復(fù)制到電腦任何位置使用的,當(dāng)然也可以就在這個(gè)位置利用cmd使用,里面的代碼也很簡(jiǎn)單,只有幾行:
使用方法也很簡(jiǎn)單,如果我需要轉(zhuǎn)換某個(gè)python文件,比如E盤根目錄下的test.py,只需要在命令行里輸入
python 2to3.py -w E:/test.py
如果需要轉(zhuǎn)換某個(gè)文件夾下的所有文件,例如E盤test文件夾下的所有文件,只需要在命令行里輸入
python 2to3.py -w E:/test/
就是這么簡(jiǎn)單就可以完成python2代碼像python3代碼的變換,當(dāng)然目前對(duì)于一些比較復(fù)雜的依賴這種方法還不能完全轉(zhuǎn)換,還需要根據(jù)運(yùn)行錯(cuò)誤調(diào)整,不過已經(jīng)可以節(jié)省很多的時(shí)間啦。
企業(yè)里Python2和3哪個(gè)用的多?為什么? 企業(yè)視頻課程
python2和python3的差異
如果你是一個(gè)初學(xué)者,或許你曾經(jīng)觸摸過其他的編程言語,你可能不知道,在開端學(xué)習(xí)python的時(shí)分都會(huì)遇到一個(gè)比較讓人很頭疼的問題:版別問題?。∈菍W(xué)習(xí)python2 仍是學(xué)習(xí) python3 ?這是十分讓人糾結(jié)的!
查找一下便會(huì)發(fā)現(xiàn)python3 和 python2 是不兼容的,并且差異比較大,究竟學(xué)習(xí)哪個(gè)版別呢?
所以先學(xué) Python2 仍是 Python3 都不是問題,或許說都是問題。可是現(xiàn)在總算不必糾結(jié)這個(gè)問題了!哈哈,好開心
因?yàn)橐粋€(gè)開發(fā)者已經(jīng)發(fā)布了一個(gè)網(wǎng)站來倒計(jì)時(shí)Python 2.7的“退休”。
能夠看出,Python 2.7有望在兩年后退休。
開發(fā)商表明,因?yàn)楣俜降娜掌跊]有發(fā)布,估計(jì)Python 2.7會(huì)在2020年4月12日退休,這是時(shí)刻的時(shí)分,pycon將舉辦。
Python 2,感謝您多年的忠誠(chéng)服務(wù)。
巨蟒3,現(xiàn)在你在舞臺(tái)上。
Python 2.7是2 x系列的最終一個(gè)版別。它的繼任者Python 3在2008年12月發(fā)布,但它與2。X系列不兼容。3的3的特征和語法被移植回2.6和2.7。2.7的支撐時(shí)刻至少為10年,并將在2020之前供給過錯(cuò)批改。
怎么轉(zhuǎn)換為Python 3?
如果您的主代碼仍然根據(jù)Python 2,這是完全能夠了解的。最流行的包PyPI上現(xiàn)在能夠運(yùn)轉(zhuǎn)在Python 2和Python 3,添加更多的日常。為了簡(jiǎn)化轉(zhuǎn)換,官方搬遷指南供給了在Python 3中運(yùn)轉(zhuǎn)Python 2代碼的主張。
所以我主張:
1. 如果是你在企業(yè)中,需求用到python而學(xué)習(xí)python的話,那就要看企業(yè)的使用python的版別進(jìn)行學(xué)習(xí);
2. 如果想要更多的老練解決方案,最少的bug,最安穩(wěn)的使用那就用python2 ;
3. 如果你是在讀大學(xué)的學(xué)生,那我主張你學(xué)習(xí)python3,比及結(jié)業(yè)的時(shí)分或許python已經(jīng)成為了干流。
另外,選2仍是3一般都是編程小白才會(huì)考慮。考慮的起點(diǎn)是作為一個(gè)初學(xué)者,有時(shí)候在學(xué)習(xí)的過程中會(huì)出現(xiàn)一些問題或者會(huì)參考一些項(xiàng)目去學(xué)習(xí),這個(gè)時(shí)候會(huì)想一下,2是干流或者是3。已然剛學(xué)何不找個(gè)干流的。其實(shí)不管是2仍是3,只需照這一個(gè)學(xué),就可以了。中心的差異在學(xué)習(xí)的時(shí)候也能更好的去加深一些形象