【已解决】ImportError: cannot import name ‘url_quote‘ from ‘werkzeug.urls‘ (/home/visionx/anaconda3/envs/

问题描述

        今天遇到这样一个问题:ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/werkzeug/urls.py),具体问题如下:

Traceback (most recent call last):
  File "/media/visionx/monica/project24/formoney/sentiment-based-product-recomendation-model/app.py", line 3, in <module>
    from flask import Flask, request, render_template, jsonify
  File "/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/flask/__init__.py", line 7, in <module>
    from .app import Flask as Flask
  File "/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/flask/app.py", line 28, in <module>
    from . import cli
  File "/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/flask/cli.py", line 18, in <module>
    from .helpers import get_debug_flag
  File "/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/flask/helpers.py", line 16, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/werkzeug/urls.py)

         这个问题的原因也很明显,就是说在导包的时候出现了问题,那遇到这种问题怎么办呢?

原因分析及解决办法

        先问一下chatgpt吧:ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/home/visionx/anaconda3/envs/sentibase/lib/python3.8/site-packages/werkzeug/urls.py)这是什么原因,怎么解决?

ImportError: cannot import name 'url_quote' 表明在尝试从 werkzeug.urls 中导入 url_quote 函数时失败了。

这个问题可能是由于你使用的 Werkzeug 版本不匹配或环境配置问题引起的。

  1. Werkzeug 版本问题url_quote 是 Werkzeug 中的一个函数,但在某些较旧的版本中可能不存在或已更改名称。请确保你使用的是最新版本的 Werkzeug,并且该函数在你的版本中可用。

  2. 环境配置问题:有时候,环境配置或其他库的冲突可能会导致无法正确导入函数。确保你的环境配置正确,并且没有其他库与 Werkzeug 发生冲突。

为了解决这个问题,你可以尝试以下几种方法:

  • 升级 Werkzeug:尝试通过以下命令升级 Werkzeug 到最新版本:

    pip install --upgrade werkzeug
  • 检查依赖项:检查你的项目依赖项和环境中是否存在其他库与 Werkzeug 或其依赖项发生冲突。确保没有删除了 Werkzeug 中的任何重要部分。

  • 查看文档:查看 Werkzeug 的文档以了解关于 url_quote 函数的信息,可能是该函数已被弃用或更改了名称。

如果以上方法都无法解决问题,你可能需要进一步调查,并根据具体情况采取适当的措施。提供更多关于你的环境和使用情况的信息可能有助于我们更准确地找到问题并提供解决方案。

        简单来说,就是需要把这个给升级了 。在搜一下谷歌呢?

        也有,点开一看您猜怎么着:

        重点在哪里呢?

I had the same problem. It is because Werkzeug 3.0.0 was released and Flask doesn't specify the dependency correctly (requirements says Werkzeug>=2.2.0). This is why, Werkzeug 3.0.0 is still installed and Flask 2.2.2 isn't made for Werkzeug 3.0.0.

Solution: Just set a fix version for Werkzeug such as Werkzeug==2.2.2 in your requirements.txt and it should work.

        解决办法一、降级Werkzeug==2.2.2
pip install Werkzeug==2.2.2
        解决办法二、升级flask

        因为当前的版本是Flask==2.0.2,升级一下就ok了

pip install --upgrade flask

相关链接
python - Why did Flask start failing with "ImportError: cannot import name 'url_quote' from 'werkzeug.urls'"? - Stack Overflowicon-default.png?t=N7T8https://stackoverflow.com/questions/77213053/why-did-flask-start-failing-with-importerror-cannot-import-name-url-quote-fr[BUG] ImportError: cannot import name 'url_quote' from 'werkzeug.urls' · Issue #389 · Sanster/IOPaint · GitHub(base) C:\Users\28622>conda activate lama (lama) C:\Users\28622>lama-cleaner --model=lama --device=cuda --port=8080 - Platform: Windows-10-10.0.22621-SP0 - Python version: 3.10.11 - torch: 1.13.1+cu117 - torchvision: 0.14.1+cu117 - Pillo...icon-default.png?t=N7T8https://github.com/Sanster/IOPaint/issues/389

完结撒花

        有人陪伴的日子真好啊

  • 31
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值