我正在尝试编辑一个python库,并从源代码构建它。有人能解释一下下面的指令是做什么的吗?为什么这个方法和通常的“pip install package-name”不同?
pip install --verbose --no-build-isolation --editable
k97glaaz1#
您可以在此处阅读所有用法选项:https://pip.pypa.io/en/stable/cli/pip_install/
-v, --verbose
提供更多输出。选项是附加的,最多可以使用3次。
--no-build-isolation
生成现代源分发时禁用隔离。如果使用此选项,则必须已安装PEP 518指定的生成依赖项。这意味着pip不会安装依赖项,因此您必须先安装依赖项(如果有的话),否则命令将失败。
-e, --editable <path/url>
从本地项目路径或VCS url以可编辑模式(即setuptools "开发模式")安装项目。在这里你必须输入一个path/url参数来从外部源安装。
8yparm6h2#
此信息来自pip官方文档,请参考当构建需求可用时,pip在一个隔离的环境中完成。也就是说,pip不会将这些需求安装到用户的站点包中,而是在构建期间将它们安装到一个临时目录中,该目录添加到用户的sys.path中。这确保了构建需求的处理独立于用户的运行时环境。例如,即使用户已经安装了较旧版本(并且没有静默地替换该版本),仍然可以安装需要最新版本的setuptools来构建的项目。在某些情况下,项目(或重分发服务器)可能具有显式管理生成环境的工作流。对于此类工作流,生成隔离可能会有问题。如果是这种情况,pip将提供--no-build-isolation标志以禁用生成隔离。提供此标志的用户负责确保生成环境得到适当管理(包括确保安装了所有必需的生成依赖项)。
2条答案
按热度按时间k97glaaz1#
您可以在此处阅读所有用法选项:https://pip.pypa.io/en/stable/cli/pip_install/
提供更多输出。选项是附加的,最多可以使用3次。
生成现代源分发时禁用隔离。如果使用此选项,则必须已安装PEP 518指定的生成依赖项。
这意味着pip不会安装依赖项,因此您必须先安装依赖项(如果有的话),否则命令将失败。
从本地项目路径或VCS url以可编辑模式(即setuptools "开发模式")安装项目。
在这里你必须输入一个path/url参数来从外部源安装。
8yparm6h2#
此信息来自pip官方文档,请参考
当构建需求可用时,pip在一个隔离的环境中完成。也就是说,pip不会将这些需求安装到用户的站点包中,而是在构建期间将它们安装到一个临时目录中,该目录添加到用户的sys.path中。这确保了构建需求的处理独立于用户的运行时环境。例如,即使用户已经安装了较旧版本(并且没有静默地替换该版本),仍然可以安装需要最新版本的setuptools来构建的项目。
在某些情况下,项目(或重分发服务器)可能具有显式管理生成环境的工作流。对于此类工作流,生成隔离可能会有问题。如果是这种情况,pip将提供--no-build-isolation标志以禁用生成隔离。提供此标志的用户负责确保生成环境得到适当管理(包括确保安装了所有必需的生成依赖项)。