$sbj.
I happen to have a nightly-updated Dumb PyPI site so I noticed this already 2 hours after the new
setuptools got released.
$ git clone https://github.com/ansible/ansible.git
$ cd ansible
$ pip install -U 'setuptools>=48,<49.1'
$ python setup.py sdist
$ python3.8 -m venv 38venv
$ 38venv/bin/pip show setuptools
Name: setuptools
Version: 41.2.0
...
$ 38venv/bin/python -m setup sdist
running sdist
running check
running egg_info
...
Creating tar archive
removing 'ansible-base-2.11.0.dev0' (and everything under it)
~/src/github/ansible/ansible/setup.py:180: RuntimeWarning: When setup.p
y sdist is run from outside of the Makefile, the generated tarball may be inco
mplete. Use `make snapshot` to create a tarball from an arbitrary checkout or
use `cd packaging/release && make release version=[..]` for official builds.
warnings.warn('When setup.py sdist is run from outside of the Makefile,'
$ 38venv/bin/pip install -U setuptools
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/a1/61/64936a2a178908f17ac27e733b4cdeffab618072d9f29743fd346b6fdbb0/setuptools-49.0.0-py3-none-any.whl
(789kB)
|████████████████████████████████| 798kB 1.9MB/s
Installing collected packages: setuptools
Found existing installation: setuptools 41.2.0
Uninstalling setuptools-41.2.0:
Successfully uninstalled setuptools-41.2.0
Successfully installed setuptools-49.0.0
$ 38venv/bin/python -m setup sdist
~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages/setupto
ols/distutils_patch.py:17: UserWarning: Setuptools is replacing distutils
warnings.warn("Setuptools is replacing distutils")
Traceback (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "~/src/github/ansible/ansible/setup.py", line 338, in <module>
main()
File "~/src/github/ansible/ansible/setup.py", line 333, in main
setup(**setup_params)
File "~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages
/setuptools/__init__.py", line 164, in setup
return distutils.core.setup(**attrs)
File "~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages
/setuptools/_distutils/core.py", line 134, in setup
ok = dist.parse_command_line()
File "~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages
/setuptools/_distutils/dist.py", line 484, in parse_command_line
args = self._parse_command_opts(parser, args)
File "~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages
/setuptools/dist.py", line 929, in _parse_command_opts
nargs = _Distribution._parse_command_opts(self, parser, args)
File "~/src/github/ansible/ansible/38venv/lib/python3.8/site-packages
/setuptools/_distutils/dist.py", line 547, in _parse_command_opts
raise DistutilsClassError(
distutils.errors.DistutilsClassError: command class <class '__main__.SDistComm
and'> must subclass Command
SUMMARY
$sbj.
I happen to have a nightly-updated Dumb PyPI site so I noticed this already 2 hours after the new
setuptools got released.
ISSUE TYPE
COMPONENT NAME
setup.py
ANSIBLE VERSION
CONFIGURATION
OS / ENVIRONMENT
N/A
STEPS TO REPRODUCE
Local repro log
EXPECTED RESULTS
sdist produced (previous build: https://github.com/webknjaz/ansinight/runs/834341869#step:5:6362)
ACTUAL RESULTS
setuptools explodes with a traceback (broken build: https://github.com/webknjaz/ansinight/runs/835027617#step:5:31)