为什么“python -m pip install ...”需要“-m”?

Mws*_*cer 4 pip python-2.7

我最近使用 piprequests在 python 2.7 中安装包,但是为了这样做,我必须使用:

python -m pip install requests 
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

python pip install requests
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:

无法打开文件 'pip: [Errno 2] 没有这样的文件或目录

为什么我需要添加-m

cco*_*cco 6

python -m pip告诉 python 以pip模块作为主模块运行。

python pip不理解,因为 pip 不是 python 理解的命令行参数(即,pip是一个模块)。

如果 python 脚本目录(c:\python27\scripts对于 Windows 上的 python 2.7)在你的路径上,那么你可以运行pip(没有python它之前)并传递你将传递给python -m pip.

所以:您需要添加-m pip以便python知道要使用哪个模块作为主模块。 pip是安装在 python 脚本目录中的独立程序,而不是 python 的参数。

  • 如果 python 脚本目录位于您的路径上,则 `python -m pip install ...` 和 `pip install ...` 是相同的。在Windows上,您需要使用`python -m pip install -U pip`来升级pip本身,因为否则无法替换pip.exe(在脚本目录中)并且安装将失败。 (2认同)