- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Pip 支持 pyproject.toml
文件,但到目前为止,新模式的所有实际使用都需要一个 3rd 方工具来自动生成这些文件(例如,诗歌和 pip)。不像 setup.py
这已经是人类可写的,pyproject.toml
不是(还)。
来自 setuptools docs ,
[build-system]
requires = [
"setuptools >= 40.9.0",
"wheel",
]
build-backend = "setuptools.build_meta"
但是,此文件不包含包依赖项(如 PEP 621 中所述)。 Pip 支持使用
pyproject.toml
安装软件包但在
pyproject.toml
中,pep 没有指定如何编写包依赖项。用于官方构建系统
setuptools
.
pyproject.toml
中编写包依赖项?
pyproject.toml
,我的问题不同,因为我要求人工编写 pyproject.toml
.最佳答案
PEP 621
2020 年 12 月
有一个标准叫PEP621指定项目的元数据(包括依赖项)应如何在 pyproject.toml
中布局。文件。
2021 年 1 月
pdm seems to have added support for the PEP 621 notation .
2021 年 5 月
更多构建后端添加了对 PEP 621 的支持,例如:
pdm
flit
trampolim
enscons
my question differ because I ask for a human-written
pyproject.toml
pyproject.toml
文件是“人类可写的”(以及
setup.cfg
)。我会在这里给
setuptools一个答案和
poetry .
pyproject.toml
中。 ,有些人希望它在另一个文件中。
pyproject.toml
.你仍然必须写一个
setup.py
,或
setup.cfg
,或两者的结合。
setup.cfg
,以及
setup.py
可以很短:
import setuptools
setuptools.setup()
这样的
setup.cfg
看起来像这样:
[metadata]
name = Thing
version = 1.2.3
[options]
install_requires =
SomeLibrary ~= 2.2
packages = find:
有关依赖项的具体引用:
setup.py
文件完整,条件之一是
setup.cfg
文件和
pyproject.toml
文件存在并包含所有必要的信息。以下是
pyproject.toml
的示例这适用于 setuptools 构建后端:
[build-system]
build-backend = 'setuptools.build_meta'
requires = [
'setuptools >= 43.0.0',
]
最后还有
plans来自 setuptools 维护者,允许在
pyproject.toml
中写入配置(而不是
setup.cfg
或
setup.py
),但我们还没有(2020 年 10 月)。
pyproject.toml
中定义.
pip install
和
pip wheel
之类的命令可以让您走得更远)。
pyproject.toml
文件可以很简单:
[tool.poetry]
name = 'Thing'
version = '1.2.3'
[tool.poetry.dependencies]
python = '^3.6'
SomeLibrary = '~2.2'
[build-system]
requires = ['poetry-core~=1.0']
build-backend = 'poetry.core.masonry.api'
引用:
关于setuptools - 如何编写一个可以安装包的最小工作 pyproject.toml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64150719/
背景 我正要尝试从GitHub下载的Python包,发现它没有setup.py ,所以我无法安装它 pip install -e 相反,该软件包具有 pyproject.toml 文件似乎具有与 s
Pip 支持 pyproject.toml文件,但到目前为止,新模式的所有实际使用都需要一个 3rd 方工具来自动生成这些文件(例如,诗歌和 pip)。不像 setup.py这已经是人类可写的,pyp
src(mlm) 目录下的 python 文件将被忽略。我已将 mlm 目录包含在 where 中以查找包。 [build-system] requires = ["setuptools"] buil
我正在使用诗歌来创建 .whl 文件。 我有一个在远程主机上运行的 ftp 服务器。 我编写了一个 python 脚本(log_revision.py),它在数据库中保存 git commit,更多参
我发现python可以使用pyproject.toml来列出依赖项而不是requirements.txt文件。它更方便,并且与节 pip 的 package.json 非常相似。但是,我找不到像 np
我有一个带有 pyproject.toml 文件的 python 项目。通常我将项目的版本号存储在 pyproject.toml 中,如下所示: % grep version pyproject.to
通常,在为 pytest 定义环境变量时使用 pytest-env插件,这是使用 pytest.ini 完成的: [pytest] env = DATA_DIR = data/test_ass
Pytest cov 未从 pyproject.toml 文件中读取其设置。我正在使用 nox,所以我使用以下命令运行测试: python3 -m nox 即使没有 nox,我似乎也有同样的问题。 其
我有一个pyproject.toml,并且我已经做了poetry init(显然)和poetry install。 如果我手动更改 toml 文件,我到底需要做什么? 一方面,我认为我必须同步poet
我正在试一试 pyproject.toml 文件,但我坚持执行这个简单的任务。考虑以下可选依赖项: [project.optional-dependencies] style = ["black",
在有些复杂的 Python setup.py 配置中,通常需要其他已经存在的库才能执行 setuptools.setup。在我的例子中,这将是 setuptools>=45.0 和 cython>=0
以前,在定义如何构建 Python 包时,您可以使用 Manifest.in 中的一行来包含文件夹。 : recursive-include my_package/assets * 不过,我想poet
仅通过 pyproject.toml 指定项目时(即没有 setup.{py,cfg} 文件),如何通过 pip 以可编辑模式安装它(即 python -m pip install -e . )? 我
我在尝试安装 PyAudio 时遇到此错误: ERROR: Could not build wheels for pyaudio, which is required to install pypro
我在安装 pymsql 时遇到问题,你们中有人遇到过类似情况吗? 我发现了与我的 M1 用户类似的问题 Link 我也试过: 升级pip:python -m pip install --upgrade
我正在尝试安装 bertopic,但出现此错误: pip install bertopic Collecting bertopic > Using cached ber
我正在尝试通过笔记本电脑上的 pip install pandas 安装 pandas。 环境: Windows 11 专业版 python 3.10.4 pip 版本 22.0.4 兼容性: Off
GitLab 用于为包注册表打包 Python 项目的说明指导用户创建一个包含以下内容的 pyproject.toml 文件: [build-system] requires = ["setuptoo
我在使用对象检测 API 安装 TensorFlow 时遇到问题。我按照此 URL 中的步骤操作:https://github.com/tensorflow/models/blob/master/re
在未 root 的 Samsung Galaxy s10 Android 12 上使用 Termux 安装 bit 时出错 ~ $ pip3 install bit
我是一名优秀的程序员,十分优秀!