这两者有什么不同:
pip install --upgrade pip
和
python -m pip install --upgrade pip
为什么通常青睐于使用 python -m pip install --upgrade pip
呢?
这两者有什么不同:
pip install --upgrade pip
和
python -m pip install --upgrade pip
为什么通常青睐于使用 python -m pip install --upgrade pip
呢?
区别在于 pip
和 python -m pip
;其余的命令无关紧要。更喜欢后者的原因是确保你通常使用的 python
是提供你调用的 pip
模块的那个。否则,如果你在 PATH
中找到的 pip
可执行文件来自一个不相关或过时的 Python 安装,可能会安装包,但你常规的 python
命令将无法找到它们(因为它们是为非默认 Python 安装而安装的)。
在 Windows 上,这种区别更加重要,因为在执行期间无法替换 pip.exe
,因此通过带有 -m
的模块来执行 pip
使得可以直接进行升级(通常在 Windows 上,你会使用 the py.exe
launcher,如 py -3 -mpip
,根据需要更改 -3
以调用要执行升级的特定版本的 Python)
python2.7
与python3.8
),甚至可以使用绝对路径,如果您可能在多个位置安装了相同名称的版本。第一个
pip install --upgrade pip
调用pip
作为命令。实际调用的Python解释器不是显式的。第二个是显式地调用Python解释器,因此您知道调用的是哪一个。
除非默认的Python与pip脚本使用的Python不同,否则模块中的__main__.py
和pip
脚本都指向相同的入口点,不应该有任何区别。
pip install --upgrade pip
和python -m pip install --upgrade pip
是一样的,除非你指定了pip或python的版本。
后者更好,因为它尝试升级与指定的Python版本相关联的pip(例如,python3.7 -m pip install --upgrade pip),即使主要的Python版本不同(python命令可能引用任何Python版本)。