Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eve 1.0 crashes with Werkzeug 1.0.0 #1359

Closed
gwainer opened this issue Feb 7, 2020 · 3 comments
Closed

Eve 1.0 crashes with Werkzeug 1.0.0 #1359

gwainer opened this issue Feb 7, 2020 · 3 comments
Labels
Milestone

Comments

@gwainer
Copy link

@gwainer gwainer commented Feb 7, 2020

Expected Behavior

Using python 3.7.6, eve 1.0 crashed on app startup, apparently due to werkzeug 1.0.0. By using werkzeug 0.16 the error does not happen.

from eve import Eve

Actual Behavior

Below is the error traceback.

Traceback (most recent call last):
  File "/../application.py", line 3, in <module>
    from eve import Eve
  File "/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/eve/__init__.py", line 89, in <module>
    from eve.flaskapp import Eve  # noqa
  File "/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/eve/flaskapp.py", line 25, in <module>
    from eve.endpoints import (
  File "/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/eve/endpoints.py", line 20, in <module>
    from eve.methods import get, getitem, post, patch, delete, deleteitem, put
  File "/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/eve/methods/__init__.py", line 14, in <module>
    from eve.methods.get import get, getitem
  File "/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/eve/methods/get.py", line 18, in <module>
    from werkzeug import MultiDict
ImportError: cannot import name 'MultiDict' from 'werkzeug' (/.pyenv/versions/3.7.6/envs/tqtq-api-env/lib/python3.7/site-packages/werkzeug/__init__.py)

Environment

  • Python version: 3.7.6
  • Eve version: 1.0

Installed dependencies:

amqp==2.5.2
arrow==0.15.5
Babel==2.8.0
bcrypt==3.1.7
billiard==3.6.2.0
boto==2.49.0
boto3==1.11.6
botocore==1.14.12
celery==4.4.0
Cerberus==1.3.2
certifi==2019.11.28
cffi==1.13.2
chardet==3.0.4
Click==7.0
dnspython==1.16.0
docutils==0.15.2
Eve==1.0
Events==0.3
Flask==1.1.1
Flask-Cors==3.0.8
geographiclib==1.50
geopy==1.20.0
gevent==1.4.0
greenlet==0.4.15
gunicorn==20.0.4
idna==2.8
importlib-metadata==1.5.0
inflection==0.3.1
itsdangerous==1.1.0
Jinja2==2.11.1
jmespath==0.9.4
kombu==4.6.7
MarkupSafe==1.1.1
paho-mqtt==1.5.0
pushjack==1.6.0
pycparser==2.19
pycryptodome==3.9.4
PyJWT==1.4.0
pymongo==3.10.1
python-dateutil==2.8.1
python-intercom==3.1.0
pytz==2019.3
redis==3.4.1
requests==2.22.0
s3transfer==0.3.3
simplejson==3.17.0
six==1.14.0
tiquetaque-jwt==0.10
tiquetaque-workers==0.45
tiquetaque-worktime-calc==0.1
Unidecode==1.1.1
urllib3==1.25.8
vine==1.3.0
Werkzeug==1.0.0
XlsxWriter==1.2.7
zipp==2.1.0

@nicolaiarocci nicolaiarocci added this to the 1.1 milestone Feb 7, 2020
@nicolaiarocci
Copy link
Member

@nicolaiarocci nicolaiarocci commented Feb 7, 2020

Thanks for reporting this. They released 1.0 yesterday. To be fair, they had deprecation warnings in place since 0.16 (I think), and we only partially complied.

@spacepirate0001
Copy link

@spacepirate0001 spacepirate0001 commented Feb 12, 2020

@nicolaiarocci Issue seems to persist but with different method.

Environment:

Python 3.7.6
Eve 1.1

Installed dependencies:

setuptools==41.0.1
flask-pymongo==0.5.2
redis==2.10.6
requests-oauthlib==1.1.0
eve==1.1
eve-swagger==0.0.11
Werkzeug==1.0.0
uwsgi==2.0.18
flask-cors==3.0.8
flask-sentinel==0.0.7
Traceback (most recent call last):
  File "wsgi.py", line 1, in <module>
    from server import app
  File "./server.py", line 2, in <module>
    from flask_sentinel import ResourceOwnerPasswordCredentials, oauth
  File "/usr/local/lib/python3.7/site-packages/flask_sentinel/__init__.py", line 1, in <module>
    from .flask_sentinel import ResourceOwnerPasswordCredentials, oauth  # noqa
  File "/usr/local/lib/python3.7/site-packages/flask_sentinel/flask_sentinel.py", line 11, in <module>
    from . import views
  File "/usr/local/lib/python3.7/site-packages/flask_sentinel/views.py", line 11, in <module>
    from .core import oauth
  File "/usr/local/lib/python3.7/site-packages/flask_sentinel/core.py", line 10, in <module>
    from flask_oauthlib.provider import OAuth2Provider
  File "/usr/local/lib/python3.7/site-packages/flask_oauthlib/provider/__init__.py", line 12, in <module>
    from .oauth1 import OAuth1Provider, OAuth1RequestValidator
  File "/usr/local/lib/python3.7/site-packages/flask_oauthlib/provider/oauth1.py", line 13, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (/usr/local/lib/python3.7/site-packages/werkzeug/__init__.py)

As of now, I can only get Eve==1.1 to work with Werkzeug==0.16.1 only.

@nicolaiarocci
Copy link
Member

@nicolaiarocci nicolaiarocci commented Feb 12, 2020

by looking at the stack I would say tat this is a flask_sentinel issue, please open a ticket over there. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants