python-flask-restful fails to build with Python 3.9.0a6 and Python 3.8.x: Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/nose/failure.py", line 39, in runTest raise self.exc_val.with_traceback(self.tb) File "/usr/lib/python3.9/site-packages/nose/loader.py", line 416, in loadTestsFromName module = self.importer.importFromPath( File "/usr/lib/python3.9/site-packages/nose/importer.py", line 47, in importFromPath return self.importFromDir(dir_path, fqname) File "/usr/lib/python3.9/site-packages/nose/importer.py", line 94, in importFromDir mod = load_module(part_fqname, fh, filename, desc) File "/usr/lib64/python3.9/imp.py", line 234, in load_module return load_source(name, filename, file) File "/usr/lib64/python3.9/imp.py", line 171, in load_source module = _load(spec) File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 790, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/builddir/build/BUILD/flask-restful-0.3.8/tests/test_reqparse.py", line 5, in <module> from werkzeug import exceptions, MultiDict ImportError: cannot import name 'MultiDict' from 'werkzeug' (/usr/lib/python3.9/site-packages/werkzeug/__init__.py) MultiDict is in the collections.abc module, it should not be imported directly from werkzeug. This used to work just because werkzeug used to import MultiDict. For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01365490-python-flask-restful/ For all our attempts to build python-flask-restful with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-flask-restful/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
I guess this needs to be reported upstream. Frantisek, can you please have a look at this?
Fixed in python-flask-restful-0.3.8-2.fc33 by backporting https://github.com/flask-restful/flask-restful/pull/862 .