为了整合 python 项目的工具配置,我的目标是将所有内容都放入setup.cfg. (因为这是唯一支持的东西,pytype并且不打算很快flake8支持。)pyproject.toml
根据 pylint 的文档,这应该有效:
setup.cfg in the current working directory, providing it has at least one pylint. section
Run Code Online (Sandbox Code Playgroud)
当前目录中既没有apylintrc也没有a ,并且不包含任何节。.pylintrcpyproject.tomltool.pylint.
setup.cfg但是,不会使用以下设置:
[pylint.MASTER]
load-plugins=pylint_django
[pylint.FORMAT]
max-line-length = 123
[pylint.'MESSAGES CONTROL']
disable = missing-docstring,invalid-name
Run Code Online (Sandbox Code Playgroud)
这就是说pylint:
% pylint --generate-rcfile | grep 'max-line-length'
max-line-length=100
Run Code Online (Sandbox Code Playgroud)
这里可能缺少什么?
使用全新的pip-tools设置总是会导致错误Backend subprocess exited。
pyproject.toml:
[project]
dependencies = [
'openpyxl >= 3.0.9, < 4',
]
Run Code Online (Sandbox Code Playgroud)
在仅包含上述 pyproject.toml 的空目录中运行 pip-tools:
% python -m venv .venv
% source .venv/bin/activate
% python -m pip install pip-tools
% pip-compile -v -o requirements.txt --resolver=backtracking pyproject.toml
Creating venv isolated environment...
Installing packages in isolated environment... (setuptools >= 40.8.0, wheel)
Getting build dependencies for wheel...
Backend subprocess exited when trying to invoke get_requires_for_build_wheel
Failed to parse .../pyproject.toml
Run Code Online (Sandbox Code Playgroud)
没有requirements.txt被创建。
对于这里可能缺少的内容的想法表示赞赏。