- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚使用 PyScaffold 搭建了一个 python 项目。引起我注意的一件事是脚手架同时生成了 setup.cfg 和 tox.ini 文件。如果我的理解是正确的,如果我使用 tox
来使用 tox命令,它只会查看 tox.ini 文件并完全忽略 setup.cfg 和 setup.py。
在这种情况下,我的问题是:是否有理由将它们都保留在项目中,或者仅使用 tox.ini 或 setup.cfg 就足够了?如果我必须将它们都保留在我的项目中,是否有一种简单的方法可以使它们都使用相同的配置(例如,用于运行 flake8 进行 linting 的配置)而我不必在 setup.cfg 和 tox 中键入这些配置。尼?
最佳答案
让我们一步一步来。PyScaffold
是一种试图简化新 Python 项目设置的工具。
什么是 Python 项目?
从本质上讲,一个可执行的 Python 文件就足够了。
如果要使项目可安装,则需要构建系统的配置文件。
虽然随着时间的推移发生了很多变化,但仍然 setup.py
是最突出的一个。在某个时间点,人们发现构建配置文件可以执行任意代码可能不是一个好主意,所以 setup.cfg
被发明,您可以在其中定义例如ini 样式格式的项目名称和依赖项。同时,还发明了另一种格式,pyproject.toml
文件。
所以基本上,要构建您的项目,您需要其中之一:
unittest
testrunner 来运行你的测试,或者现在很多项目都使用
pytest
.
pytest
可以配置
pytest.ini
.
pytest
本身,也许还有其他一些测试助手。它们需要在某个时间安装。
tox
上场。在许多其他功能中,例如针对不同的 Python 版本运行测试,
tox
可以安装您的项目和测试需求并执行测试。
tox
通常带有
tox.ini
文件。
flake8
这样的工具。 - 还自带配置文件,即
.flake8
.
flake8
都在
setup.cfg
和一个
tox.ini
,见
https://flake8.pycqa.org/en/latest/user/configuration.html
tox
来自
setup.cfg
或
pyproject.toml
,见
https://tox.readthedocs.io/en/latest/config.html#configuration-discovery
关于setuptools - 是否有理由在 python 项目中同时拥有 tox.ini 和 setup.cfg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67098213/
您好,我希望我的下一个输出(在本例中就是字母)在上一个输出之后输出 8 个空格。这适用于第一个字符,但之后的 printf 语句不起作用。它在第一个 printf 语句之后立即打印,我试图将其设置为
我想知道制作 std::list<>::splice 背后的基本原理是什么使引用被拼接到新容器中的子序列的迭代器无效。这对我来说有点不合逻辑,尤其是考虑到标准 std::container::swap
谁能告诉我为什么我应该使用 Azure Function 输出绑定(bind)(例如 SendGrid 或 Twilio)而不是仅仅在我的 C# 函数中显式使用适当的 SDK(例如 Sendgrid
我们在当前项目中使用 React 和 TypeScript,我遇到了以下行为。 import React, { Component } from 'react'; 我将上面的行替换为下面的行,因为它似
我是一名优秀的程序员,十分优秀!