The proper answer for May 2020: flask-restplus is dead, move to flask-restx.

From noirbizarre/flask-restplus#778 (comment):

flask-restplus work has been discontinued due to maintainers not having pypi keys. See the drop in replacement, flask-restx. It's an official fork by the maintainer team. We have already fixed the issue there

From noirbizarre/flask-restplus#777 (comment):

No. Flask-restplus is no longer maintained. The former maintainers do not have privileges to push to pypi, and after many months of trying, we forked the project. Check out flask-restx. It's a drop in replacement and we are roadmapping, designing, and making fixes...for instance, we already patched for Werkzeug

So the real solution is to move to flask-restx rather than pinning to an old version of Werkzeug.

Answer from noraj on Stack Overflow
🌐
GitHub
github.com › jarus › flask-testing › issues › 143
cannot import name 'cached_property' from 'werkzeug' · Issue #143 · jarus/flask-testing
February 6, 2020 - werkzeug just released 1.0.0, and the deprecated werkzeug.cached_property has been removed in favor of werkzeug.utils.cached_property. This was addressed in October by pull request # 141, but it seems like it failed testing because the o...
Author   jarus
🌐
GitHub
github.com › pytest-dev › pytest-flask › issues › 119
cannot import name 'cached_property' from 'werkzeug' · Issue #119 · pytest-dev/pytest-flask
March 15, 2020 - Replacing from werkzeug import cached_property with from werkzeug.utils import cached_property in pytest_flask/plugin.py fixes this.
Author   pytest-dev
🌐
Itsourcecode
itsourcecode.com › home › importerror: cannot import name ‘cached_property’ from ‘werkzeug’
Importerror: cannot import name 'cached_property' from 'werkzeug'
May 15, 2023 - importerror: cannot import name ‘cached_property’ from ‘werkzeug’ implies thatyou’re using an outdated version of Werkzeug that doesn’t include the ‘cached_property’ attribute.
🌐
GitHub
github.com › flask-restful › flask-restful › issues › 869
ImportError: cannot import name 'cached_property' from 'werkzeug' · Issue #869 · flask-restful/flask-restful
February 26, 2020 - The error pops up because it's trying to import 'cached_property' directly from werkzeug, instead of werkzeug.utils. ImportError: cannot import name 'cached_property' from 'werkzeug'
Author   flask-restful
🌐
GitHub
github.com › noirbizarre › flask-restplus › issues › 777
flask-restplus is broken by Werkzeug 1.0.0 · Issue #777 · noirbizarre/flask-restplus
February 7, 2020 - | Traceback (most recent call last): | File "./manage.py", line 4, in <module> | from qsystem import db, application | File "/opt/app-root/src/qsystem.py", line 16, in <module> | from flask_restplus import Api | File "/opt/app-root/lib/python3.6/site-packages/flask_restplus/__init__.py", line 4, in <module> | from . import fields, reqparse, apidoc, inputs, cors | File "/opt/app-root/lib/python3.6/site-packages/flask_restplus/fields.py", line 17, in <module> | from werkzeug import cached_property | ImportError: cannot import name 'cached_property'
Author   noirbizarre
🌐
CSDN
devpress.csdn.net › python › 6304544f7e66823466199f0c.html
Flask app wont launch 'ImportError: cannot import name 'cached_property' from 'werkzeug' '_python_Mangs-Python
August 23, 2022 - Traceback (most recent call last): File "C:\Users\Kev\Documents\Projects\Docket\manage.py", line 5, in <module> from app import create_app, db File "C:\Users\Kev\Documents\Projects\Docket\app\__init__.py", line 21, in <module> from app.api import api, blueprint, limiter File "C:\Users\Kev\Documents\Projects\Docket\app\api\__init__.py", line 2, in <module> from flask_restplus import Api File "C:\Users\Kev\.virtualenvs\Docket-LasDxOWU\lib\site-packages\flask_restplus\__init_ _.py", line 4, in <module> from . import fields, reqparse, apidoc, inputs, cors File "C:\Users\Kev\.virtualenvs\Docket-LasDxOWU\lib\site-packages\flask_restplus\fields. py", line 17, in <module> from werkzeug import cached_property ImportError: cannot import name 'cached_property' from 'werkzeug' (C:\Users\Kev\.virtualen vs\Docket-LasDxOWU\lib\site-packages\werkzeug\__init__.py)
Find elsewhere
🌐
Red Hat
bugzilla.redhat.com › show_bug.cgi
1830982 – python-flask-autoindex fails to build: Tries to import cached_property from werkzeug
May 19, 2020 - Red Hat Bugzilla – Bug 1830982 · This site requires JavaScript to be enabled to function correctly, please enable it · Privacy Contact FAQ Legal
🌐
GitHub
github.com › pytest-dev › pytest-flask › issues › 106
The import 'werkzeug.cached_property' is deprecated · Issue #106 · pytest-dev/pytest-flask
February 4, 2020 - I ran into this issue using Werkzeug 1.0.0RC1 with pytest-flask: ImportError: cannot import name 'cached_property' from 'werkzeug' (c:\***\.virtualenvs\***-ceh2yp3w\lib\site-packages\werkzeug\__init__.py) The current version of Werkzeug ...
Author   pytest-dev
🌐
Stdworkflow
stdworkflow.com › 1559 › importerror-cannot-import-name-cached-property-from-werkzeug
ImportError: cannot import name 'cached_property' from 'werkzeug' - stdworkflow
April 9, 2022 - solution¶ After some searching, I learned that this is because the new version of werkzeug needs to import the module explicitly. Adding the fol…
🌐
Jianshu
jianshu.com › p › b134572ef49d
ImportError: cannot import name 'cached_property' from 'werkzeug' - 简书
May 12, 2022 - ImportError: cannot import name ...ruce_cd/article/details/105888623 · 简介: · 查询后得知这是因为werkzeug新版本里需要显式导入该模块。 ·...
🌐
Jimit105
jimit105.github.io › medium-articles › Building Python APIs with Flask, Flask-RESTPlus and Swagger UI.html
Building Python APIs with Flask, Flask-RESTPlus and Swagger UI — Medium Articles by Jimit Dholakia
from werkzeug import cached_property ImportError: cannot import name 'cached_property' Add this line before from werkzeug.datastructures import FileStorage: import werkzeug werkzeug.cached_property = werkzeug.utils.cached_property ·
🌐
Iditect
iditect.com › faq › python › flask-app-wont-launch-39importerror-cannot-import-name-39cachedproperty39-from-39werkzeug39-39.html
Flask app wont launch 'ImportError: cannot import name 'cached_property' from 'werkzeug' '
Ensure that you're not trying to import cached_property directly from werkzeug, as it's now located within werkzeug.utils. Check Circular Imports: Circular imports between your own modules might sometimes cause unexpected behavior. Make sure your import statements are clean and free from circular ...
🌐
GitHub
github.com › postrational › rest_api_demo › issues › 17
cannot import name 'cached_property' from 'werkzeug' · Issue #17 · postrational/rest_api_demo
Traceback (most recent call last): File "rest_api_demo/app.py", line 6, in from rest_api_demo.api.blog.endpoints.posts import ns as blog_posts_namespace File "/home/abdulsamed/temp/rest_api_demo/rest_api_demo/api/blog/endpoints/posts.py", line 4, in from flask_restplus import Resource File "/home/abdulsamed/.local/share/virtualenvs/rest_api_demo-ypuNYSIq/lib/python3.8/site-packages/flask_restplus/init.py", line 4, in from . import fields, reqparse, apidoc, inputs, cors File "/home/abdulsamed/.local/share/virtualenvs/rest_api_demo-ypuNYSIq/lib/python3.8/site-packages/flask_restplus/fields.py", line 17, in from werkzeug import cached_property ImportError: cannot import name 'cached_property' from 'werkzeug' (/home/abdulsamed/.local/share/virtualenvs/rest_api_demo-ypuNYSIq/lib/python3.8/site-packages/werkzeug/init.py)
Author   postrational
🌐
Lightrun
lightrun.com › answers › armindoflores-ao3_api-importerror-cannot-import-name-cached_property
ImportError: cannot import name 'cached_property'
You need to rename from werkzeug import cached property to...Read more > [Fixed] ModuleNotFoundError: No module named 'cached- ... Quick Fix: Python raises the ImportError: No module named 'cached-property' when it cannot find the library ...
🌐
GitHub
github.com › jmcarp › robobrowser › issues › 96
pls fix the 'werkzeug' library · Issue #96 · jmcarp/robobrowser
April 3, 2020 - File "/usr/local/lib/python3.6/dist-packages/robobrowser/browser.py", line 8, in from werkzeug import cached_property ImportError: cannot import name 'cached_property' Just commit #97 to fix this
Author   jmcarp