python-fire
python-fire copied to clipboard
Declare `wheel` dependency in `pyproject.toml` according to PEP 518
Trying to install fire on a fresh environment ends produces this error:
Building wheels for collected packages: fire
Building wheel for fire (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /tmp/ie-titanic-utils/.venv/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6ftqurwi/fire/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6ftqurwi/fire/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-08a6120v
cwd: /tmp/pip-install-6ftqurwi/fire/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for fire
Running setup.py clean for fire
After that, fire gets installed anyway.
This error doesn't appear if the wheel package is preinstalled in the environment. However, the proper modern way of specifying a build-time dependency is to include a pyproject.toml. Given that fire uses setuptools, as the user guide says here https://setuptools.readthedocs.io/en/latest/userguide/quickstart.html#basic-use, it should contain this:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"