多個(gè)版本的python共存時(shí)使用pip的正確做法
想學(xué)習(xí)Python3,但是暫時(shí)又離不開(kāi)Python2。在Windows上如何讓它們共存呢?
目前國(guó)內(nèi)網(wǎng)站經(jīng)常會(huì)讓大家把其中一個(gè)python.exe改個(gè)名字(嗯,我也這樣講過(guò),在此糾正一下),這樣區(qū)分開(kāi)兩個(gè)可執(zhí)行文件的名字,但是這樣做有一個(gè)重大的隱患,就是修改了名字的那個(gè)python對(duì)應(yīng)的pip將無(wú)法使用。
官方的解法是什么?
事實(shí)上這個(gè)問(wèn)題幾年以前Python社區(qū)就給出了官方解決方案,只不過(guò)國(guó)內(nèi)一直沒(méi)有注意到罷了。
我們?cè)诎惭bPython3(>=3.3)時(shí),Python的安裝包實(shí)際上在系統(tǒng)中安裝了一個(gè)啟動(dòng)器py.exe,默認(rèn)放置在文件夾C:\Windows\下面。這個(gè)啟動(dòng)器允許我們指定使用Python2還是Python3來(lái)運(yùn)行代碼(當(dāng)然前提是你已經(jīng)成功安裝了Python2和Python3)。
如果你有一個(gè)Python文件叫 hello.py,那么你可以這樣用Python2運(yùn)行它
py -2 hello.py
類似的,如果你想用Python3運(yùn)行它,就這樣
py -3 hello.py
每次運(yùn)行都要加入?yún)?shù)-2/-3還是比較麻煩,所以py.exe這個(gè)啟動(dòng)器允許你在代碼中加入說(shuō)明,表明這個(gè)文件應(yīng)該是由python2解釋運(yùn)行,還是由python3解釋運(yùn)行。說(shuō)明的方法是在代碼文件的最開(kāi)始加入一行
#! python2
或者
#! python3
分別表示該代碼文件使用Python2或者Python3解釋運(yùn)行。這樣,運(yùn)行的時(shí)候你的命令就可以簡(jiǎn)化為
py hello.py
使用pip
當(dāng)Python2和Python3同時(shí)存在于windows上時(shí),它們對(duì)應(yīng)的pip都叫pip.exe,所以不能夠直接使用 pip install 命令來(lái)安裝軟件包。而是要使用啟動(dòng)器py.exe來(lái)指定pip的版本。命令如下:
py -2 -m pip install XXXX
-2 還是表示使用 Python2,-m pip 表示運(yùn)行 pip 模塊,也就是運(yùn)行pip命令了。如果是為Python3安裝軟件,那么命令類似的變成
py -3 -m pip install XXXX
#! python2 和 # coding: utf-8 哪個(gè)寫(xiě)在前面?
對(duì)于Python2用戶還有另外一個(gè)困惑,Python2要在代碼文件頂部增加一行說(shuō)明,才能夠在代碼中使用中文。如果指明使用的Python版本也需要在文件頂部增加一行,那哪一行應(yīng)該放在第一行呢?
#! python2 需要放在第一行,編碼說(shuō)明可以放在第二行。所以文件開(kāi)頭應(yīng)該類似于:
#! python2 # coding: utf-8
有了這些技巧,Python2和Python3就可以愉快地在一起玩耍了~
以上就是多版本python共存時(shí)使用pip的正確做法的詳細(xì)內(nèi)容,更多關(guān)于python pip的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用NumPy和pandas對(duì)CSV文件進(jìn)行寫(xiě)操作的實(shí)例
今天小編就為大家分享一篇使用NumPy和pandas對(duì)CSV文件進(jìn)行寫(xiě)操作的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
詳解Python的collections模塊中的deque雙端隊(duì)列結(jié)構(gòu)
deque結(jié)構(gòu)可以看作是內(nèi)置的list結(jié)構(gòu)的加強(qiáng)版,且比隊(duì)列提供了更強(qiáng)大的方法,下面就通過(guò)幾個(gè)小例子來(lái)詳解Python的collections模塊中的deque雙端隊(duì)列結(jié)構(gòu):2016-07-07
將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實(shí)例
今天小編就為大家分享一篇將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法
今天小編就為大家分享一篇pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
學(xué)習(xí)python如何處理需要登錄的網(wǎng)站步驟
這篇文章主要為大家介紹了python如何處理需要登錄的網(wǎng)站步驟學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
解決Jupyter NoteBook輸出的圖表太小看不清問(wèn)題
這篇文章主要介紹了解決Jupyter NoteBook輸出的圖表太小看不清問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
python如何實(shí)現(xiàn)常用的五種排序算法詳解
排序有很多種實(shí)現(xiàn)方法,比如冒泡排序、選擇排序、歸并排序、希爾排序、快速排序、插入排序、堆排序、基數(shù)排序等,這篇文章主要給大家介紹了關(guān)于python如何實(shí)現(xiàn)常用的五種排序算法,需要的朋友可以參考下2021-08-08
關(guān)于django 1.10 CSRF驗(yàn)證失敗的解決方法
今天小編就為大家分享一篇關(guān)于django 1.10 CSRF驗(yàn)證失敗的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08

