解决:ImportError: cannot import name ‘cached_property‘ from ‘werkzeug‘

错误信息

Traceback (most recent call last):
  File "/Users/lifeng/python-projects/Test/pythonScripts/bin/run/runModule.py", line 8, in <module>
    from robobrowser import RoboBrowser
  File "/Users/lifeng/python-virtualenv/venv/lib/python3.9/site-packages/robobrowser/__init__.py", line 3, in <module>
    from .browser import RoboBrowser
  File "/Users/lifeng/python-virtualenv/venv/lib/python3.9/site-packages/robobrowser/browser.py", line 8, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (/Users/lifeng/python-virtualenv/venv/lib/python3.9/site-packages/werkzeug/__init__.py)

解决方法

这个报错就是安装的第三方库它又依赖这个包,但是在运行的时候又没有导入这个包,所以才引起的报错;从异常信息可以看到有很明显的提示信息,我们只需要在这个路径中的__init__.py文件中引入from werkzeug.utils import cached_property即可,示例如下:

  • 首先找到这个目录
(venv) lifeng site-packages % cd werkzeug 
(venv) lifeng werkzeug % ls
__init__.py        formparser.py       test.py
__pycache__        http.py         testapp.py
_internal.py        local.py        urls.py
_reloader.py        middleware      user_agent.py
datastructures.py    py.typed        useragents.py
datastructures.pyi    routing.py      utils.py
debug            sansio          wrappers
exceptions.py        security.py     wsgi.py
filesystem.py        serving.py
  • 其次看到init.py文件,去编辑打开它之后引入指定包
(venv) lifeng werkzeug % vi __init__.py
  • 因为是Mac电脑,所以我直接vi打开文件,进入编辑层后,要先i下,然后在输入需要引入的包,最后别忘了wq保存下,示例如下:
from .serving import run_simple as run_simple
from .test import Client as Client
from .wrappers import Request as Request
from .wrappers import Response as Response
from werkzeug.utils import cached_property # 这是引入的包

__version__ = "2.0.2"
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
:wq

保存完成后,再去运行刚才报错的代码,发现运行成功了。这里是亲测有效


以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的点赞和分享哟,谢谢!

未完,待续…

一直都在努力,希望您也是!

更多内容欢迎关注公众号
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值