“ ImportError:安装pgAdmin4时无法导入名称'ImmutableDict'”错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“ ImportError:安装pgAdmin4时无法导入名称'ImmutableDict'”错误相关的知识,希望对你有一定的参考价值。

[我正在尝试在this tutorialhttps://www.digitalocean.com/community/tutorials/how-to-install-configure-pgadmin4-server-mode)之后使用python3在Ubuntu 18.04上安装pgAdmin4,但在配置pgAdmin4时出现此错误:

(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'

我已经尝试安装werkzeug,但仍然出现相同的错误。

高级(1.4.0)巴别(2.8.0)bcrypt(3.1.7)信号灯(1.4)cffi(1.13.2)单击(7.0)加密(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)烧瓶邮件(0.9.1)烧瓶移植(2.4.0)烧瓶类狂犬病(0.2.0)Flask-Principal(0.4.0)Flask-Security(3.0.0)Flask-SQLAlchemy(2.3.2)Flask-WTF(0.14.2)其危险(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)python-editor(1.0.4)pytz(2018.9)setuptools(39.0.1)simplejson(3.16.0)六(1.14.0)发言者(1.3)SQLAlchemy(1.3.13)sqlparse(0.2.4)sshtunnel(0.1.5)Werkzeug(1.0.0) wheel((0.34.2) WTForms(2.2.1)

任何想法?

答案

我今天也在安装另一个软件包时进行了故障排除,似乎今天发布了一个新版本,可能是造成此问题的原因。

https://pypi.org/project/Werkzeug/#history

我决定回到较早的版本(0.16.1),它解决了我的问题。降级:

pip install --upgrade werkzeug==0.16.1

希望这也对您有效。

另一答案

v1.0.0的导入方法已更改。看到此警告消息:

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
另一答案

升级到flask-babelex> = 9.4.0(对于其他项目,则为flask-babelex> = 1.0.0),如果其他依赖项允许的话。flask-babelex Github issue 21flask-babel Github issue 162

以上是关于“ ImportError:安装pgAdmin4时无法导入名称'ImmutableDict'”错误的主要内容,如果未能解决你的问题,请参考以下文章