Python 模块分辨率

Python module resolution

我对命令有疑问 python -m pip install ... 阅读文档,它表明 -m flag/option 用于识别 python 模块,通过在 sys.path 条目中搜索来解析该模块。在上面的命令中,我们实际上是在要求解释器在 sys.path 中搜索 pip 吗?我找到了 pip,它似乎是一个可执行文件而不是一个模块,那么 -m 标志是否也适用于可执行文件?如果它们的位置列在系统路径条目中?

我搜索了 pip 文件,发现它是一个可执行文件

两者都有。这是一个 pip 模块,类似于 .../site-packages/pip 和 top-level 可执行脚本。 -m 将运行 一个模块作为主脚本,但它也可以运行 一个包作为主脚本,如果它有一个特殊的文件名__main__.pypip 包有这个。所以包可以运行就好像是主脚本一样。 Python 将 运行 那个 __main__.py 文件中的内容。

如果您的系统上安装了多个版本的 Python,这是针对特定版本 Python 的特定 pip 的好方法。