حل ارور Import Error: cannot import name ‘url_encode’ from ‘werkzeug’

زمان مطالعه: < 1 دقیقه

من خودم حین نصب pgadmin4 روی سرور اوبونتو و virtualenv دارای پایتون ۳.۷.۱ به این مشکل بر خوردم و کامل ارور به شکل زیر بود:

(.asemanenv) (base) sadegh_khan@aseman_ecommerce:~/w$ python .asemanenv/lib/python3.7/site-packages/pgadmin4/setup.py 
Traceback (most recent call last):
  File ".asemanenv/lib/python3.7/site-packages/pgadmin4/setup.py", line 17, in 
    from pgadmin.model import db, User, Version, ServerGroup, Server, \
  File ".asemanenv/lib/python3.7/site-packages/pgadmin4/pgadmin/__init__.py", line 25, in 
    from flask_security import Security, SQLAlchemyUserDatastore, current_user
  File ".asemanenv/lib/python3.7/site-packages/flask_security/__init__.py", line 13, in 
    from .core import Security, RoleMixin, UserMixin, AnonymousUser, current_user
  File ".asemanenv/lib/python3.7/site-packages/flask_security/core.py", line 28, in 
    from .forms import ChangePasswordForm, ConfirmRegisterForm, \
  File ".asemanenv/lib/python3.7/site-packages/flask_security/forms.py", line 17, in 
    from flask_wtf import FlaskForm as BaseForm
  File ".asemanenv/lib/python3.7/site-packages/flask_wtf/__init__.py", line 17, in 
    from .recaptcha import *
  File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/__init__.py", line 2, in 
    from .fields import *
  File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/fields.py", line 3, in 
    from . import widgets
  File ".asemanenv/lib/python3.7/site-packages/flask_wtf/recaptcha/widgets.py", line 5, in 
    from werkzeug import url_encode
ImportError: cannot import name 'url_encode' from 'werkzeug' (.asemanenv/lib/python3.7/site-packages/werkzeug/__init__.py)

و اما مشکل از کجاست ؟؟

مشکل میشه خط زیر :

ImportError: cannot import name 'url_encode' from 'werkzeug'

به نظر میرسه که ارور فوق ارور ورژنی باشد (versioning error)، ورژن جدید پکیج werkzeug دیگه دارای url_encode نیست که pgadmin4 داره دنبالش می گرده :))

راه حل :

نصب ورژنی پایینتر از ورژن فعلی werkzeug ، مشکل شما را حل خواهد کرد، برای مثال نصب ورژن werkzeug==0.16.0 با ساتفاده از دستور زیر:

pip install werkzeug==0.16.0
Categories: سوالات لینوکس, سوالات و مشکلات پایتون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *