如何配置安装位置pyproject.toml(python PEP517)

问题描述 投票:0回答:1

这是一个python包安装问题。如果我有一个名为 foo 的项目,如何配置使用 pyproject.toml (PEP517) 创建一个基于 setuptools 的项目以安装到 site-packages/ 中名为 foo2 的子目录(又名名称空间?)?

我能想到的两种方法:

  1. 使用我目前不知道的正确旋钮配置 pyproject.toml
  2. 允许分发包(又名wheel?)安装到site-packages下的默认子目录(例如foo/),但告诉pip在安装包时覆盖该位置。

我对这两个选项的详细信息感兴趣。或者只是指向描述这些内容的文档 - 我还没有找到 pyproject.toml 配置的文档,该文档将提供指定安装位置的方法。

我想最小化依赖关系 - 首选基本的 python 标准库以及最小的附加依赖关系(如果有)。

我意识到有多种构建后端可供选择,因此除了“setuptools”之外,其他构建后端也很有趣(flit-core、hatchling、诗歌等)。我想了解如何至少使用 setuptools 作为后端。

目前,考虑一个简单的(例如纯Python)项目就可以了。稍后我将转向“更高级”的需求(例如,包括 C 或 Rust 扩展)。

python package pyproject.toml pep517
1个回答
0
投票

pyproject.toml

构建系统要求和信息,由 pip 用于构建包。

因此它对包装内的内容负责。像

pip
这样的包安装程序提供了设置默认目录之外的目标目录的方法

pip --target

将软件包安装到

<dir>
。默认情况下,这不会替换
<dir>
中的现有文件/文件夹。 使用 --upgrade 将
<dir>
中的现有软件包替换为新版本。

(环境变量:PIP_TARGET)

© www.soinside.com 2019 - 2024. All rights reserved.