Giter Club home page Giter Club logo

Comments (5)

paulbkoch avatar paulbkoch commented on May 23, 2024

Hi @Exitare -- It looks like werkzeug 0.3.0 removed some previously deprecated code which led to this error, so downgrading werkzeug to 0.2.x would probably solve it. Do you have a more detailed stack trace?

https://stackoverflow.com/questions/77213053/why-did-flask-start-failing-with-importerror-cannot-import-name-url-quote-fr

from interpret.

Exitare avatar Exitare commented on May 23, 2024

Hi @paulbkoch,
thanks for getting back to me!
I added the full stack trace.

`
ImportError Traceback (most recent call last)
Cell In[44], line 1
----> 1 show(dt.explain_global())

File ~/venv/lib/python3.9/site-packages/interpret/visual/_interactive.py:172, in show(explanation, key, **kwargs)
170 except Exception as e: # pragma: no cover
171 _log.error(e, exc_info=True)
--> 172 raise e
174 return None

File ~/venv/lib/python3.9/site-packages/interpret/visual/_interactive.py:169, in show(explanation, key, **kwargs)
166 _current_module.visualize_provider = AutoVisualizeProvider()
168 # Render
--> 169 _current_module.visualize_provider.render(explanation, key=key, **kwargs)
170 except Exception as e: # pragma: no cover
171 _log.error(e, exc_info=True)

File ~/venv/lib/python3.9/site-packages/interpret/provider/_visualize.py:234, in InlineProvider.render(self, explanation, key, **kwargs)
231 def render(self, explanation, key=-1, **kwargs):
232 from ..visual._inline import render
--> 234 render(
235 explanation,
236 default_key=key,
237 detected_envs=self.detected_envs,
238 js_url=self.js_url,
239 )

File ~/venv/lib/python3.9/site-packages/interpret/visual/_inline.py:232, in render(explanation, id_str, default_key, detected_envs, js_url)
230 viz_obj = _build_viz_err_obj(msg)
231 else:
--> 232 viz_obj = _build_viz_obj(explanation, detected_envs)
234 init_js, body_js = _build_javascript(
235 viz_obj, id_str, default_key=default_key, js_url=js_url
236 )
238 if "databricks" in detected_envs:

File ~/venv/lib/python3.9/site-packages/interpret/visual/_inline.py:109, in _build_viz_obj(explanation, detected_envs)
108 def _build_viz_obj(explanation, detected_envs):
--> 109 overall = _build_viz_figure(explanation.visualize(), detected_envs)
110 if explanation.selector is None:
111 # NOTE: Unsure if this should be a list or None in the long term.
112 specific = []

File ~/venv/lib/python3.9/site-packages/interpret/glassbox/_decisiontree.py:92, in TreeExplanation.visualize(self, key)
81 def visualize(self, key=None):
82 """Provides interactive visualizations.
83
84 Args:
(...)
90 A Dash Cytoscape object.
91 """
---> 92 import dash_cytoscape as cyto
94 data_dict = self.data(key)
95 if data_dict is None:

File ~/venv/lib/python3.9/site-packages/dash_cytoscape/init.py:7
4 import sys as _sys
5 import json
----> 7 import dash as _dash
9 # noinspection PyUnresolvedReferences
10 from .imports import *

File ~/venv/lib/python3.9/site-packages/dash/init.py:5
1 # pylint: disable=C0413
2 # __plotly_dash is for the "make sure you don't have a dash.py" check
3 # must come before any other imports.
4 __plotly_dash = True
----> 5 from .dependencies import ( # noqa: F401,E402
6 Input, # noqa: F401,E402
7 Output, # noqa: F401,E402,
8 State, # noqa: F401,E402
9 ClientsideFunction, # noqa: F401,E402
10 MATCH, # noqa: F401,E402
11 ALL, # noqa: F401,E402
12 ALLSMALLER, # noqa: F401,E402
13 ) # noqa: F401,E402
14 from . import development # noqa: F401,E402
15 from . import exceptions # noqa: F401,E402

File ~/venv/lib/python3.9/site-packages/dash/dependencies.py:4
1 import json
2 from dash.development.base_component import Component
----> 4 from ._validate import validate_callback
5 from ._grouping import flatten_grouping, make_grouping_by_index
8 class _Wildcard: # pylint: disable=too-few-public-methods

File ~/venv/lib/python3.9/site-packages/dash/_validate.py:5
3 from textwrap import dedent
4 from keyword import iskeyword
----> 5 import flask
7 from ._grouping import grouping_len, map_grouping
8 from .development.base_component import Component

File ~/venv/lib/python3.9/site-packages/flask/init.py:5
2 from markupsafe import Markup
4 from . import json as json
----> 5 from .app import Flask as Flask
6 from .app import Request as Request
7 from .app import Response as Response

File ~/venv/lib/python3.9/site-packages/flask/app.py:30
28 from werkzeug.routing import Rule
29 from werkzeug.serving import is_running_from_reloader
---> 30 from werkzeug.urls import url_quote
31 from werkzeug.utils import redirect as _wz_redirect
32 from werkzeug.wrappers import Response as BaseResponse

ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (venv/lib/python3.9/site-packages/werkzeug/urls.py)
`

from interpret.

paulbkoch avatar paulbkoch commented on May 23, 2024

Hi @Exitare --

What version of flask do you have installed? It looks like the error originates here:

https://github.com/pallets/flask/blame/6b422a05f37641ca0b84422f2436e9d4bd144376/src/flask/app.py#L12

But they changed it 6 months ago and there have been releases of flask since then.

from interpret.

Exitare avatar Exitare commented on May 23, 2024

Flask==2.2.3
flask-simplelogin==0.1.2
Flask-WTF==1.2.1

These are the versions installed. But I they have been installed as a dependency.

Downgrading helped btw.

from interpret.

Exitare avatar Exitare commented on May 23, 2024

As downgrading Werkzeug worked, I am closing this issue as resolved

from interpret.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.