尚硅谷大数据数仓项目superset db upgrade三个报错解答

ImportError: cannot import name ‘soft_unicode’ from 'markupsafe’和ImportError: cannot import name ‘TypedDict’ from ‘typing’ (/opt/module/miniconda3/envs/superset/lib/python3.7/typing.py)

尚硅谷大数据数仓项目superset db upgrade有报错

问题一

ImportError: cannot import name ‘soft_unicode’ from ‘markupsafe’
这个错误好像是新版本的markupsafe代码变动问题产生的,需要退回到2.0.1

python -m pip install markupsafe==2.0.1
#或者
pip3 install --force-reinstall MarkupSafe==2.0.1

解决完这个之后我又出现了新的问题

问题二

ImportError: cannot import name ‘TypedDict’ from ‘typing’ (/opt/module/miniconda3/envs/superset/lib/python3.7/typing.py)

这个问题好像是我解决了,看了下源码,因为python3.7 typing.py这个文件缺少TypedDict 这个类型。你创建一个python3.8的环境就行。先删除superset环境。
要先返回家目录不然有些命令不能执行
步骤一:回到用户家目录

 [atguigu@hadoop102 ~]$ 

步骤二:卸载原来的superset,

#因为卸载superset,所以要先退出superset
(superset) [atguigu@hadoop102 ~]$ conda deactivate
#执行卸载superset
[atguigu@hadoop102 ~]$ conda remove -n superset --all
#卸载完成后按照原来的过程重新安装

第三步:卸载完成后,安装python3.8 python3.9

因为这个教程被舍友锤了–安装3.8不行了,Superset版本又又又更新了,要使用python3.9了舍友做到最后一步,发现我后面又编程3.9,又发现写这个文章的人是我,锤了我一顿,被他要求改过来,
这个问题主要就是python版本问题了,大家如果以后3.9再出问题就看看python有没有更新新版本,往新版本上冲就对了,希望大家解决了问题后在评论区留言,,期待与大家一起进步,加油哦!!!!

#创建Python3.9环境,这一步出错返回家目录执行
[atguigu@hadoop102 ~]$ conda create --name superset python=3.9
                    有问题看看评论区哦,可能有其他小伙伴解决方案

第四步:激活superset环境

#
 [atguigu@hadoop102 ~]$ conda activate superset
#安装Superset之前,需安装以下所需依赖
(superset) [atguigu@hadoop102 ~]$ sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
#1)安装(更新)setuptools和pip
(superset) [atguigu@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
#安装Supetset
(superset) [atguigu@hadoop102 ~]$ pip install apache-superset -i https://pypi.douban.com/simple/
#创建管理员用户
(superset) [atguigu@hadoop102 ~]$ export FLASK_APP=superset
#初始化Supetset数据库
(superset) [atguigu@hadoop102 ~]$ superset db upgrade

Usage: superset [OPTIONS] COMMAND [ARGS]… Error: Could not locate a Flask application. You did not provide the “FLASK_APP” environment variable, and a “wsgi.py” or “app.py” module was not found in the current directory.

出现这种错误是因为没有配置管理员用户
执行一下这个就好了

#创建管理员用户
(superset) [atguigu@hadoop102 ~]$ export FLASK_APP=superset

---------------------------------------------追加-------------------------------------------------------------------
有人说还是有问题,评论区或许会有解决办法哦!!!!
如果不行,大家可以试一下下面两位小伙伴的方法!!!

在这里插入图片描述
在这里插入图片描述

期待与梦想的不期而遇 ,嘻嘻… ~~lov-靓仔
在这里插入图片描述

  • 38
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 53
    评论
当在使用Superset进行数据库升级时遇到 "no module named superset.cli" 的错误,这通常表示Python解释器无法找到Superset命令行接口(CLI)模块。这可能是由于以下原因: 1. **缺少安装**:可能你还没有正确安装或完整安装了Superset。请确保按照官方文档(https://github.com/apache/superset)的安装指南检查是否所有依赖都已安装。 2. **环境变量配置**:`superset`脚本可能没有被添加到系统的PATH中,导致Python找不到它。检查你的系统环境变量设置,确保`superset`命令可以在任何位置运行。 3. **版本不兼容**:如果你是从旧版本升级到新版本,可能会因为新版本API结构的变化导致旧的命令行工具不再可用。确保你在执行升级时使用的是匹配项目当前版本的命令。 4. **模块导入问题**:Python的`site-packages`目录可能存在错误,或者模块没有正确安装到预期的位置。你可以尝试手动指定`superset`的安装路径,或者清理并重新安装。 为了解决这个问题,请尝试以下步骤: 1. **确认安装**:检查是否通过`pip list | grep superset`看到`apache-superset`或`superset`条目。 2. **更新或重新安装**:使用`pip install --upgrade apache-superset`或`pip install --upgrade superset`尝试更新到最新版本。 3. **检查环境变量**:确保`superset`命令在`PATH`中可用,或者将其添加到环境变量中。 4. **查阅文档**:查看Superset的最新升级指南或社区论坛,看看是否有针对类似问题的解决方案。 如果以上操作仍无法解决问题,建议提供更多信息,例如你的PythonSuperset和操作系统版本,以便更准确地定位问题。接下来的相关问题是: 1. 你是如何安装Superset的? 2. 你是在什么样的操作系统上运行的? 3. 在尝试升级之前,你是否尝试过运行其他Superset命令?是否有报错信息?
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值