web-dev-qa-db-fra.com

Erreur "ImportError: impossible d'importer le nom 'ImmutableDict'" lors de l'installation de pgAdmin4

J'essaye d'installer pgAdmin4 sur Ubuntu 18.04 avec python3 suivant ce tutoriel ( https://www.digitalocean.com/community/tutorials/how-to-install-configure-pgadmin4- server-mode ) mais lors de la configuration de pgAdmin4, j'obtiens cette erreur:

(my_env) 1 jess@hilarioserver:~/environments$ python my_env/lib/python3.6/site-packages/pgadmin4/setup.py
Traceback (most recent call last):
  File "my_env/lib/python3.6/site-packages/pgadmin4/setup.py", line 17, in <module>
    from pgadmin.model import db, User, Version, ServerGroup, Server, \
  File "/home/cta/environments/my_env/lib/python3.6/site-packages/pgadmin4/pgadmin/__init__.py", line 21, in <module>
    from flask_babelex import Babel, gettext
  File "/home/cta/environments/my_env/lib/python3.6/site-packages/flask_babelex/__init__.py", line 23, in <module>
    from werkzeug import ImmutableDict
ImportError: cannot import name 'ImmutableDict'

J'ai déjà essayé d'installer werkzeug mais en donnant toujours la même erreur.

alambic (1.4.0) Babel (2.8.0) bcrypt (3.1.7) blinker (1.4) cffi (1.13.2) Click (7.0) cryptographie (2.8) Flask (1.0.2) ) Flask-BabelEx (0.9.3) Flask-Compress (1.4.0) Flask-Gravatar (0.5.0) Flask-Login (0.4.1) Flask-Mail (0.9.1) Flask-Migrate (2.4.0) Flask -Paranoïde (0.2.0) Flask-Principal (0.4.0) Flask-Security (3.0.0) Flask-SQLAlchemy (2.3.2) Flask-WTF (0.14.2) itsdangerous (1.1.0) Jinja2 (2.11.1 ) Mako (1.1.1) MarkupSafe (1.1.1) paramiko (2.7.1) passlib (1.7.1) pgadmin4 (4.18) pip (9.0.1) pkg-resources (0.0.0) psutil (5.5.1) psycopg2-binary (2.8.4) pycparser (2.19) PyNaCl (1.3 .0) python-dateutil (2.8.1) éditeur python (1.0.4) pytz (2018.9) setuptools (39.0.1) simplejson (3.16.0) six (1.14.0) speaklater (1.3) SQLAlchemy (1.3.13 ) sqlparse (0.2.4) sshtunnel (0.1.5) Werkzeug (1.0.0) roue (0.34.2) WTForms (2.2.1)

Une idée?

6
Jesús Magallón

La méthode d'importation a changé pour la v1.0.0. Voir ce message d'avertissement:

The import 'werkzeug.ImmutableDict' is deprecated and will be removed in Werkzeug 1.0. Use 'from werkzeug.datastructures import ImmutableDict' instead.
    from werkzeug import ImmutableDict
2
fraxture

passer à flask-babelex>=0.9.4 (ou flask-babel>=1.0.0 pour d'autres projets) si d'autres dépendances le permettent. flask-babelex Github numéro 21flask-babel Github numéro 162

1
stuartz