python里面的pip是什么意思_为什么您应该使用`python -m pip`
python -m pip是什么?
首先,python -m pip會(huì)使用您指定為python的Python解釋器來(lái)執(zhí)行pip。因此,/usr/bin/python3.7 -m pip表示您正在執(zhí)行位于/usr/bin/python3.7的解釋器的pip。如果您不熟悉這個(gè)標(biāo)志以及它是如何工作的,您可以閱讀有關(guān)-m的文檔(它非常方便)。
為什么使用 python -m pip 而不是 pip/pip3?
所以您可能會(huì)說(shuō),“好的,但是我不能通過(guò)執(zhí)行pip命令來(lái)運(yùn)行pip嗎?”答案是“可以,但是您對(duì)它的控制會(huì)更少”,我將用一個(gè)例子來(lái)解釋我所說(shuō)的“控制會(huì)更少”是什么意思。
假設(shè)我已經(jīng)安裝了Python的兩個(gè)版本,比如Python 3.7和3.8(由于Python會(huì)預(yù)先安裝在macOS和Linux上,這對(duì)人們來(lái)說(shuō)是很常見(jiàn)的,更不用說(shuō)您之前已經(jīng)安裝了Python 3.7,您還是會(huì)安裝Python 3.8來(lái)使用它)?,F(xiàn)在,如果您在您的終端中鍵入pip,那么它將為哪個(gè)Python解釋器安裝庫(kù)呢?
在沒(méi)有更多的細(xì)節(jié)的情況下,您的答案是您不知道。首先,您必須知道我的PATH設(shè)置是什么,比如/usr/bin是在/usr/local/bin之前還是之后(這些是安裝Python的常見(jiàn)位置,通常優(yōu)先安裝于/usr/local/目錄)。好的,只要您記得您安裝Python 3.7和3.8的地方,它們是不同的目錄,您就會(huì)知道哪個(gè)版本的pip在PATH上先出現(xiàn)。假設(shè)您都是手動(dòng)安裝它們的,也許您的操作系統(tǒng)附帶了Python 3.7.3,而您又安裝了Python 3.7.5。在這種情況下,Python的兩個(gè)版本都安裝在/usr/local/bin中?,F(xiàn)在您能告訴我pip與哪個(gè)解釋器相關(guān)聯(lián)嗎?
答案是您仍然不知道。除非您知道您在什么時(shí)候安裝了每個(gè)版本,從而就會(huì)知道被寫到/usr/local/bin/pip的最后一個(gè)pip副本是什么,否則您就不知道哪個(gè)解釋器的pip將被用于執(zhí)行pip命令?,F(xiàn)在您可能會(huì)說(shuō),“我總是會(huì)安裝最新的版本,這意味著Python 3.8.0是最后安裝的,因?yàn)樗?.7.5更新。”好的,但是當(dāng)Python 3.7.6出現(xiàn)時(shí)會(huì)發(fā)生什么呢?您的pip命令將會(huì)從使用Python 3.8變?yōu)槭褂肞ython 3.7。
但是當(dāng)您使用python -m pip時(shí),而python是您希望使用的特定解釋器時(shí),所有上述的模糊性都消失了。如果我使用python3.8 -m pip,那么我就知道pip將會(huì)在我的Python 3.8解釋器中使用和安裝(如果我使用的是python3.7,那么情況也一樣)。
如果您是在Windows上運(yùn)行,使用python -m pip還有一個(gè)額外的好處,那就是它可以讓pip自我更新。基本上,當(dāng)您執(zhí)行pip install --upgrade pip時(shí),系統(tǒng)會(huì)認(rèn)為pip.exe正在運(yùn)行,因此,Windows是不會(huì)讓您覆蓋pip.exe的。但是,如果您執(zhí)行python -m pip install --upgrade pip,就可以避免這個(gè)問(wèn)題,因?yàn)檎谶\(yùn)行的是python.exe,不是pip.exe。
總結(jié)
以上是生活随笔為你收集整理的python里面的pip是什么意思_为什么您应该使用`python -m pip`的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 第一天蓝桥杯备战
- 下一篇: [附源码]Python计算机毕业设计SS