安装superset遇到的坑

小鱼儿 2021-11-23 06:14 860阅读 0赞

实验环境:ubuntu16.04
python环境: 3.6.7

安装参考:https://superset.incubator.apache.org/installation.html

特别提醒:
python3.6-dev 一定要安装

1. “Was unable to import superset Error: cannot import name ‘_maybe_box_datetimelike’”

  1. (venv1) root@VM-220-19-ubuntu:/data# fabmanager create-admin --app superset
  2. Username [admin]: admin
  3. User first name [admin]: admin
  4. User last name [user]: admin
  5. Email [admin@fab.org]: admin@aldwx.com
  6. Password:
  7. Repeat for confirmation:
  8. Was unable to import superset Error: cannot import name '_maybe_box_datetimelike'

解决方法

卸载当前pandas版本,安装pandas==0.23.4

  1. (venv1) root@VM-220-19-ubuntu:/data# pip3 uninstall pandas
  2. Uninstalling pandas-0.24.2:
  3. Would remove:
  4. /data/venv1/lib/python3.6/site-packages/pandas-0.24.2.dist-info/*
  5. /data/venv1/lib/python3.6/site-packages/pandas/*
  6. Proceed (y/n)? Y
  7. Successfully uninstalled pandas-0.24.2
  8. (venv1) root@VM-220-19-ubuntu:/data#
  9. (venv1) root@VM-220-19-ubuntu:/data#
  10. (venv1) root@VM-220-19-ubuntu:/data# pip3 install pandas==0.23.4
  11. Collecting pandas==0.23.4
  12. Using cached https://files.pythonhosted.org/packages/e1/d8/feeb346d41f181e83fba45224ab14a8d8af019b48af742e047f3845d8cff/pandas-0.23.4-cp36-cp36m-manylinux1_x86_64.whl
  13. Requirement already satisfied: pytz>=2011k in ./venv1/lib/python3.6/site-packages (from pandas==0.23.4) (2018.9)
  14. Requirement already satisfied: numpy>=1.9.0 in ./venv1/lib/python3.6/site-packages (from pandas==0.23.4) (1.16.2)
  15. Requirement already satisfied: python-dateutil>=2.5.0 in ./venv1/lib/python3.6/site-packages (from pandas==0.23.4) (2.8.0)
  16. Requirement already satisfied: six>=1.5 in ./venv1/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas==0.23.4) (1.12.0)
  17. Installing collected packages: pandas

2. 创建用户失败

  1. (venv1) root@VM-220-19-ubuntu:/data# fabmanager create-admin --app superset
  2. Username [admin]: admin
  3. User first name [admin]: admin
  4. User last name [user]: admin
  5. Email [admin@fab.org]: admin@aldwx.com
  6. Password:
  7. Repeat for confirmation:
  8. Recognized Database Authentications.
  9. 2019-03-18 23:14:05,535:ERROR:flask_appbuilder.security.sqla.manager:Error adding new user to database. (sqlite3.IntegrityError) UNIQUE constraint failed: ab_user.email
  10. [SQL: INSERT INTO ab_user (first_name, last_name, username, password, active, email, last_login, login_count, fail_login_count, created_on, changed_on, created_by_fk, changed_by_fk) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
  11. [parameters: ('admin', 'admin', 'admin', 'pbkdf2:sha256:50000$FaQRT7OQ$67953f905b97e56de418b790a5025576a4a0d68fdb140ef0dcde9494e99ced25', 1, 'admin@aldwx.com', None, None, None, '2019-03-18 23:14:05.534844', '2019-03-18 23:14:05.534859', None, None)]
  12. (Background on this error at: http://sqlalche.me/e/gkpj)
  13. No user created an error occured

问题分析

报错提示唯一约束失败。因为创建的用户发生冲突

解决方法1

修改用户,指定其他用户为管理员

解决方法2

如果是新建数据库,可以重建。在此基础上如果是sqlite数据库,可以修改数据库文件名或删除数据库文件,让程序自动重建。
配置数据库的文件 /data/venv1/lib/python3.6/site-packages/superset/config.py
sqlite数据库默认在当前用户下 ~/.superset/superset.db

3. sqlalchemy.exc.InvalidRequestError: Can’t determine which FROM clause to join from, there are multiple FROMS which cto help resolve the ambiguity.

  1. (venv1) root@VM-220-19-ubuntu:/data# superset db upgrade
  2. INFO [alembic.runtime.migration] Context impl SQLiteImpl.
  3. INFO [alembic.runtime.migration] Will assume transactional DDL.
  4. INFO [alembic.runtime.migration] Running upgrade bddc498dd179 -> 3dda56f1c4c6, Migrate num_period_compare and perio
  5. INFO [alembic.runtime.migration] Running upgrade 3dda56f1c4c6 -> 1d9e835a84f9, empty message
  6. /data/venv1/lib/python3.6/site-packages/alembic/util/messaging.py:73: UserWarning: Skipping unsupported ALTER for cr
  7. warnings.warn(msg)
  8. INFO [alembic.runtime.migration] Running upgrade bddc498dd179 -> 4451805bbaa1, remove double percents
  9. Traceback (most recent call last):
  10. File "/data/venv1/bin/superset", line 15, in <module>
  11. cli()
  12. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 722, in __call__
  13. return self.main(*args, **kwargs)
  14. File "/data/venv1/lib/python3.6/site-packages/flask/cli.py", line 380, in main
  15. return AppGroup.main(self, *args, **kwargs)
  16. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 697, in main
  17. rv = self.invoke(ctx)
  18. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
  19. return _process_result(sub_ctx.command.invoke(sub_ctx))
  20. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
  21. return _process_result(sub_ctx.command.invoke(sub_ctx))
  22. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 895, in invoke
  23. return ctx.invoke(self.callback, **ctx.params)
  24. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 535, in invoke
  25. return callback(*args, **kwargs)
  26. File "/data/venv1/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
  27. return f(get_current_context(), *args, **kwargs)
  28. File "/data/venv1/lib/python3.6/site-packages/flask/cli.py", line 257, in decorator
  29. return __ctx.invoke(f, *args, **kwargs)
  30. File "/data/venv1/lib/python3.6/site-packages/click/core.py", line 535, in invoke
  31. return callback(*args, **kwargs)
  32. File "/data/venv1/lib/python3.6/site-packages/flask_migrate/cli.py", line 134, in upgrade
  33. _upgrade(directory, revision, sql, tag, x_arg)
  34. File "/data/venv1/lib/python3.6/site-packages/flask_migrate/__init__.py", line 95, in wrapped
  35. f(*args, **kwargs)
  36. File "/data/venv1/lib/python3.6/site-packages/flask_migrate/__init__.py", line 280, in upgrade
  37. command.upgrade(config, revision, sql=sql, tag=tag)
  38. File "/data/venv1/lib/python3.6/site-packages/alembic/command.py", line 276, in upgrade
  39. script.run_env()
  40. File "/data/venv1/lib/python3.6/site-packages/alembic/script/base.py", line 475, in run_env
  41. util.load_python_file(self.dir, "env.py")
  42. File "/data/venv1/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 90, in load_python_file
  43. module = load_module_py(module_id, path)
  44. File "/data/venv1/lib/python3.6/site-packages/alembic/util/compat.py", line 156, in load_module_py
  45. spec.loader.exec_module(module)
  46. File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  47. File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  48. File "/data/venv1/lib/python3.6/site-packages/superset/migrations/env.py", line 100, in <module>
  49. run_migrations_online()
  50. File "/data/venv1/lib/python3.6/site-packages/superset/migrations/env.py", line 93, in run_migrations_online
  51. context.run_migrations()
  52. File "<string>", line 8, in run_migrations
  53. File "/data/venv1/lib/python3.6/site-packages/alembic/runtime/environment.py", line 839, in run_migrations
  54. self.get_context().run_migrations(**kw)
  55. File "/data/venv1/lib/python3.6/site-packages/alembic/runtime/migration.py", line 361, in run_migrations
  56. step.migration_fn(**kw)
  57. File "/data/venv1/lib/python3.6/site-packages/superset/migrations/versions/4451805bbaa1_remove_double_percents.py"
  58. replace('%%', '%')
  59. File "/data/venv1/lib/python3.6/site-packages/superset/migrations/versions/4451805bbaa1_remove_double_percents.py"
  60. .join(Table)
  61. File "/data/venv1/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2235, in join
  62. from_joinpoint=from_joinpoint,
  63. File "<string>", line 2, in _join
  64. File "/data/venv1/lib/python3.6/site-packages/sqlalchemy/orm/base.py", line 220, in generate
  65. fn(self, *args[1:], **kw)
  66. File "/data/venv1/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2414, in _join
  67. left, right, onclause, prop, create_aliases, outerjoin, full
  68. File "/data/venv1/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2437, in _join_left_to_right
  69. ) = self._join_determine_implicit_left_side(left, right, onclause)
  70. File "/data/venv1/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2568, in _join_determine_implicit_lef
  71. "Can't determine which FROM clause to join "
  72. sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, there are multiple FROMS which cto help resolve the ambiguity.

解决方法

安装sqlalchemy==1.2.18

  1. pip install sqlalchemy==1.2.18 #当时用pip安装的,结果也没问题

转载于:https://www.cnblogs.com/guoew/p/11132016.html

发表评论

表情:
评论列表 (有 0 条评论,860人围观)

还没有评论,来说两句吧...

相关阅读