问题标签 [pyproject.toml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1105 浏览

python - 诗歌:使用 python >= 2.7 解决依赖问题

我有一个基于 Python 2.7 和 Python 3.9 的项目。

我正在使用以下 pyproject.toml:

执行时,进程永远poetry update停留在原处。"Resolving dependencies..."

如果我用它替换python依赖python = "^2.7"项(但不能在python 3上安装),并且如果我用它替换python = "^3.0"它也可以(但不能在python 2上安装)。

我应该怎么办 ?

0 投票
1 回答
560 浏览

python - 如何构建符合 PEP 517 的 C 扩展,即使用 pyproject.toml 而不是 setup.py?

我想为 CPython 构建一个 C 扩展。我可以用传统的setup.py文件来做。但是,由于 PEP 517 中提到的原因,我更喜欢使用pyproject.toml. 我知道这setuptools是唯一可以在所有相关平台上构建 C 扩展的构建后端。事实上,我不知道有任何后端能够与过时的distutils.

在这种背景下,一个常见的setup.py看起来像这样:

现在,挑战是将上述内容放入一个pyproject.tomlplus asetup.cfg中。

setuptools文档建议这样pyproject.toml

此外,实际的元数据应该进入setup.cfg. 但是,我还没有找到任何关于如何将ext_moduleskwarg(尤其是Extension()调用)翻译成setup.cfg语法的解释。

0 投票
2 回答
1039 浏览

pytest - 如何使用 pytest pyproject.toml 插入测试时环境变量

通常,在定义pytest使用pytest-env插件的环境变量时,使用以下方法完成pytest.ini

pytestpyproject.toml从 6.0 开始支持。应该如何以这种格式定义环境变量?以下不起作用:

0 投票
1 回答
1019 浏览

setuptools - 如何使用 pip 在可编辑模式下安装 setup.cfg + pyproject.toml python 项目?

是否有可能将你的蛋糕减半并吃掉它:是否可以安装(通过某种机制)具有以下结构的项目:

在可编辑模式下,就像使用标准setup.py项目一样:

(如果答案是:“不以可编辑模式安装 pyproj.toml 包”也可以)

0 投票
1 回答
1033 浏览

python - 如何使带有诗歌和 pyproject.toml 的 python 包的开发环境和生产环境之间的依赖关系保持一致

我有一个 python 包,其中的依赖项在poetry.lock 文件中指定用于开发和测试。然后我构建并发布包,它安装在生产 docker 映像上。但问题是:发布的包在 pyproject.toml 的tool.poetry.dependencies部分中指定了它的依赖项,这可能与poetry.lock 不同。因此,生产环境最终可能会产生与测试环境不同的依赖关系。

我可以想到几种实现一致性的方法,但对我来说似乎没有一个好:

  1. 在 pyproject.toml 中使用与在poetry.lock 中相同的集合版本。这将保证发布的包具有与 dev/test 相同的依赖项。但是此时保留一个poetry.lock 文件还有什么意义,因为poetry install如果没有poetry.lock 文件,也可以使用pyproject.toml。我认为这行得通,但是我不明白为什么首先要有poetry.lock。

  2. 在生产 docker 映像中,从包 repo 中签出poetry.lock 文件并poetry install在安装包本身之前运行。但这会增加 docker 镜像的大小,如果 repo 是私有的,则会引入不必要的配置,并且总体上看起来并不自然。

我对 Python 的这一部分很陌生,所以其中之一可能是“标准”工作流程。或者,也许我只是完全错过了一些东西。谢谢回答!

0 投票
1 回答
174 浏览

python - 删除未使用的库 python pyproject.toml

我正在使用 pyproject.toml 来组织我的 python venv,然后用它创建带有诗歌的环境。

然而,随着时间的推移,越来越多的库被添加为依赖项,但有些库不再在代码中使用。

找出可以在不破坏任何东西的情况下删除哪些依赖项的最佳/最简单方法是什么?我在想 VSCode 插件,pip-package 分析目录中的 python 文件,...

0 投票
1 回答
1287 浏览

python - 为什么 pytest 不为此弃用警告使用 pyproject.toml

我有一个用 pytest 和诗歌管理的 django 项目。

我想将我的 pytest 配置放入pyproject.toml文件中,所以我添加了:

然而,这并没有什么不同——警告没有被过滤。

如果我添加一个包含以下内容的 pytest.ini 文件...

...它工作得很好。

我的pyproject.toml或我的 pytest 配置有什么问题,它没有被拾取?

0 投票
1 回答
791 浏览

python - Python 打包:在 pyproject.toml VS setup_requires 中构建需求

在有些复杂的 Pythonsetup.py配置中,通常需要已经存在的其他库才能执行setuptools.setup. 就我而言,这将是setuptools>=45.0and cython>=0.29。现在,我有两个选项来声明这些构建时要求(不要与通常在requirements.txt文件中找到的标准包安装要求混淆),以便将此项目发送到 PyPI:

  1. 手动编写要求作为参数setup.py的一部分setup_requires
  1. 将这些要求写入PEP518pyproject.toml之后的单独文件中:

它们可以交换吗?应该使用哪一个,为什么?

0 投票
0 回答
534 浏览

python - pytest pyproject.toml 配置忽略特定路径

有什么方法可以在 pyproject.toml 中设置要忽略的路径,例如

而不是使用 addopts:

0 投票
0 回答
21 浏览

python - Pyproject依赖与构建系统需要?

刚开始考虑将 pyproject.toml 用于我的存储库,但无法辨别依赖项密钥和构建系统需要密钥之间的区别?哪个替换 requirements.txt?