Open jcpayne opened 11 months ago
I second this, great tutorial so far, but I also get ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/site-packages/werkzeug/urls.py)
when I run the docker file.
As you might see, even changing from python 3.9 in your example to 3.10 doesn't fix the issue.
I run Docker Engine on Ubuntu
Full error:
Traceback (most recent call last): File "/usr/scr/app/./app.py", line 1, in <module> from flask import Flask, render_template File "/usr/local/lib/python3.10/site-packages/flask/__init__.py", line 7, in <module> from .app import Flask as Flask File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 28, in <module> from . import cli File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 18, in <module> from .helpers import get_debug_flag File "/usr/local/lib/python3.10/site-packages/flask/helpers.py", line 16, in <module> from werkzeug.urls import url_quote ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/site-packages/werkzeug/urls.py)
@jcpayne jcpayne I found a workaround:
Flask==3.0.0
Werkzeug==3.0.0
That's great @dwolf42 , thanks! It works for me too.
@dwolf42 fixed the issue for me
Alas did not solve the issue for me. Gives me an error: 2.481 ERROR: Could not find a version that satisfies the requirement Werzeug==3.0.0 (from versions: none) 2.482 ERROR: No matching distribution found for Werzeug==3.0.0
Saw a mention of werzeug version 2.2.2, tried that version to, same error.
To bad, really liked the way this tutorial was going
Peter
The following worked for me in the requirements.txt file:
Flask==2.0.2 Werkzeug==2.2.2
@jcpayne jcpayne I found a workaround:
* in your docker-curriculum / flask-app there is a file called requirements.txt * change the Flask version to 3.0.0 and set the Werkzeug version to 3.0.0. The file looks like this now:
Flask==3.0.0 Werkzeug==3.0.0
* Save and exit. * again run docker build -t /catnip . * there will be a red warning about this is a development server which you can ignore. * type in your browser 127.0.0.1:5000 * enjoy cat gif :)
Hi @dwolf42 I wasn't able to solve the problem with this approach. Could you help me? I have tried all possible ways that I have found. I am using Ubuntu, Python 3.10.12, Flask 3.0.3, Werkzeug 3.0.2
Hey @Programador04, sorry for the late reply. I would love to help you out here, but unfortunately I’m just someone who happens to find a workaround by chance.
If changing the stuff I mentioned inside the requirements.txt
didn’t work for you, only @prakhar1989 could be able to give a helping hand.
You can change the Python version to 3.6 in the Dockerfile, it will work.
Wonderful tutorial -- thanks so much. I ran into an import error on the catnip example, in the run command:
Docker Engine on Kubuntu