我正在尝试在this tutorial(https://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,但仍然出现相同的错误。
alembic(1.4.0)Babel(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)
有什么主意吗?
答案 0 :(得分:14)
我今天也在安装另一个软件包时进行了故障排除,似乎今天发布了一个新版本可能是导致此问题的原因。
https://pypi.org/project/Werkzeug/#history
我决定回到较早的版本(0.16.1),它解决了我的问题。降级:
pip install --upgrade werkzeug==0.16.1
希望这对您也有用。
答案 1 :(得分:3)
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
答案 2 :(得分:1)
如果其他依赖项允许,则升级到flask-babelex>=0.9.4
(对于其他项目,则升级为flask-babel>=1.0.0
)。
flask-babelex Github issue 21
flask-babel Github issue 162
答案 3 :(得分:-1)
从werkzeug.datastructures导入ImmutableDict