我通常使用pip install
(因为我认为这与pip3 install
相当,因为我只在环境中安装了python3)来安装软件包。但我最近听说python3 -m pip install
更好。为什么?
我通常使用pip install
(因为我认为这与pip3 install
相当,因为我只在环境中安装了python3)来安装软件包。但我最近听说python3 -m pip install
更好。为什么?
pip somecommand
(或pip3
)脚本。相反,更安全的方法是显式地为特定的Python解释器调用pip的可执行模块,形式如path/to/pythonX.Y -m pip somecommand
。path/to/venv/bin/python -m pip install SomeProject
path\to\venv\Scripts\python.exe -m pip install --upgrade pip
python3 -m pip install SomeProject
和pip3 install SomeProject
应该做完全相同的事情,但是有太多情况会出现设置问题而导致事情没有按预期工作,用户感到困惑(正如在此平台上关于此主题的许多问题所示)。
python -m pip
”SomeProject
应该改成 SomePackage
。 - muyustanSomeProject
是在 PyPI 上发布的项目。它可能有多个版本。每个版本发布可能有多个分发包(_sdist_,_wheel_)。每个分发包可能包含多个可导入的顶级模块或包。-- https://packaging.python.org/glossary/#term-distribution-package -- 我试图在这里(https://sinoroc.gitlab.io/kb/python/packaging.html)简单地总结一下(很差劲)。 - sinorocsetuptools
和 pkg_resources
(显然还有一个 _顶级模块_:easy_install
)。 - sinoroc这是相同的事情。
python3 -m pip install
在 python 中调用 pip 模块,而 pip install
直接调用 pip。
唯一选择第一种方法的原因是,为了使用第二种方法,您需要在环境变量中设置 pip
(对于 Windows)。在较早版本的 Python 中,安装时不会自动执行此操作,而是必须手动执行。这就是为什么在许多指南中,您可能会看到他们使用第一种语法进行指导(因为它始终有效,只要您的环境变量中有 python3
。对于 Linux/Mac 操作系统没有任何区别。