no-build-isolation 有什么作用?

Rit*_*rna 19 python pip

我正在尝试编辑 python 库并从源代码构建它。有人可以解释以下指令的作用以及为什么此方法与pip install package-name正常方法不同?

pip install --verbose --no-build-isolation --editable 
Run Code Online (Sandbox Code Playgroud)

Đào*_*Hạt 16

您可以在此处阅读所有使用选项: https ://pip.pypa.io/en/stable/cli/pip_install/

\n
\n
   -v, --verbose\n
Run Code Online (Sandbox Code Playgroud)\n

给予更多输出。选项是累加的,最多可以使用3次。

\n
\n
\n
   --no-build-isolation\n
Run Code Online (Sandbox Code Playgroud)\n

构建现代源代码发行版时禁用隔离。如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。

\n
\n

这意味着 pip 不会安装依赖项,因此您必须先自行安装依赖项(如果有),否则命令将失败。

\n
\n
   -e, --editable <path/url>\n
Run Code Online (Sandbox Code Playgroud)\n

从本地项目路径或 VCS URL 以可编辑模式安装项目(即 setuptools \xe2\x80\x9cdevelop mode\xe2\x80\x9d)。

\n
\n

在这里,您必须输入路径/url 参数才能从外部源安装。

\n


小智 13

该信息来自pip官方文档。请参考一下

\n
\n

当构建需求可用时,pip 在隔离环境中进行。也就是说,pip 不会将这些要求安装到 user\xe2\x80\x99s 站点包中,而是将它们安装在临时目录中,并在运行期间将其添加到 user\xe2\x80\x99s sys.path 中。建造。这确保了构建需求的处理独立于 user\xe2\x80\x99s 运行时环境。例如,即使用户安装了旧版本(并且无需静默替换该版本),仍然可以安装需要最新版本的 setuptools 来构建的项目。

\n
\n
\n

在某些情况下,项目(或再分发者)可能具有显式管理构建环境的工作流程。对于此类工作流程,构建隔离可能会出现问题。如果是这种情况,pip 会提供 --no-build-isolation 标志来禁用构建隔离。提供此标志的用户负责确保构建环境得到适当管理(包括确保安装了所有必需的构建依赖项)。

\n
\n