python里面的pip是什么意思_“pip install”和“python -m pip install”有什么区别?
我有一個本地版本的Python 3.4.1,我可以運行python -m pip install,但是我無法找到pip二進制文件來運行pip install.這兩者有什么區別?
解決方法:
他們完全一樣.事實上,分發Python模塊的文檔是just updated,建議使用python -m pip而不是pip可執行文件,因為更容易分辨哪個版本的python將用于實際運行pip.
編輯:
這里有一些更具體的“證明”,除了相信我的話和我鏈接的錯誤報告:)
如果你看一下pip可執行文件腳本,它就是這樣做的:
from pkg_resources import load_entry_point
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
它調用load_entry_point,返回一個函數,然后執行該函數.它正在使用的入口點稱為“console_scripts”.如果你查看pip的entry_points.txt文件(我的Ubuntu機器上的/usr/lib/python2.7/dist-packages/pip-1.5.4.egg-info/entry_points.txt),你會看到:
[console_scripts]
pip = pip:main
pip2.7 = pip:main
pip2 = pip:main
因此返回的入口點是pip模塊中的主要功能.
當你運行python -m pip時,你正在pip包中執行__main__.py腳本.看起來像這樣:
import sys
from .runner import run
if __name__ == '__main__':
exit = run()
if exit:
sys.exit(exit)
而runner.run函數看起來像這樣:
def run():
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
## FIXME: this is kind of crude; if we could create a fake pip
## module, then exec into it and update pip.__path__ properly, we
## wouldn't have to update sys.path:
sys.path.insert(0, base)
import pip
return pip.main()
如您所見,它也只是調用pip.main函數.所以這兩個命令最終都在pip / __ init__.py中調用相同的main函數.
標簽:python,python-3-x,pip
來源: https://codeday.me/bug/20190926/1821804.html
總結
以上是生活随笔為你收集整理的python里面的pip是什么意思_“pip install”和“python -m pip install”有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: java毕业设计——基于Java+Soc
 - 下一篇: 【经验】软件测试用例设计之错误推测法