目录

第一步:安装paython3.7

第二步:修改默认python

第三步:安装工具pip并激活虚拟环境

第四步:激活虚拟环境

第五步:安装开始apache-superset

第六步:汉化步骤

第七步: 安装过过程中的问题解答


第一步:安装paython3.7

下载python3的安装包

cd到想保存安装包的路径下下载(去官网查看最新版下载链接):

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

1解压到当前目录:

$: tar -zxvf Python-3.7.*.tgz    (不同的安装包对应不同的解压方法)

安装编译器(root用户):

$: yum -y install gcc

安装make需要的依赖包(需要root用户执行):

$: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

安装python3.7需要的依赖包(需要root用户执行),否则会报错:“ModuleNotFound:No module named ‘_ctypes’”

$: yum -y install libffi-devel

进入解压后的文件夹中,编译和安装(如果之前安装出错的朋友,在安装依赖后重新编译安装即可):

$: cd Python-3.7.*

$: ./configure

$: make&&make install

默认情况下,python3.7安装在/usr/local/bin/

第二步:修改默认python

使默认python变成python3,把之前的python命令改成python2,并软连接python3到python:

$: mv /usr/bin/python /usr/bin/python2

mv:overwrite ‘/usr/bin/python2’? 输入y

$: ln -s /usr/local/bin/python3 /usr/bin/python

备注:如果执行“符号连接的层数过多”,则执行unlink 文件就行。

[root@localhost Python-3.7.0]# mv /usr/bin/python /usr/bin/python2

mv: failed to access "/usr/bin/python2": 符号连接的层数过多

[root@localhost Python-3.7.0]# unlink /usr/bin/python2

修改默认pip

$: find / -name pip3找到pip3

软链到bin:

$: ln -s /usr/local/bin/pip3 /usr/bin/pip

如果出现这个,则执行: $:rm -rf /usr/bin/pip

修改yum文件,使之正常运行

yum不支持python3修改并保存:

$: vi /usr/libexec/urlgrabber-ext-down

修改为以下:

#! /usr/bin/python2.7

#  A very simple external downloader

#  Copyright 2011-2012 Zdenek Pavlas

修改yum文件

$:  vi /usr/bin/yum

文件的 头为

#! /usr/bin/python2.7

但是,上面三步直接安装,安装的会是在python2的目录下,而不是新安装的python3,因为python2为默认安装。使用pip -V查看如下:

$ pip -V

pip 10.0.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

在这个时候调用pip时会报错,因为系统还不认识pip命令是啥,需要加个连接

1、我们得知道pip装在哪里

$:  whereis pip

pip: /usr/local/bin/pip2.7 /usr/local/bin/pip

2、建立连接

$:  ln -s /usr/local/bin/pip2.7 /usr/bin/pip

如果报“[root@bolu-report-data001 opt]# python -V

-bash: /bin/python: No such file or directory”,则需要坐下软连接,命令如下:

$: ln -s /usr/local/bin/pip3  /usr/bin/python

如果出现:“VersionConflict”, 则将报错文件的指定版本更新成安装的版本就行。

更新后的/bin/php文件:

第三步:安装工具pip并激活虚拟环境

如果新系统尚未安装工具pip,可通过以下三步来快速完成pip的安装

$: yum -y install epel-release

$: yum install python-pip

$:pip install --upgrade pip

如果执行pip命令过程中出现“ModuleNotFoundError: No module named 'pip._internal.cli'”,则执行命令:python -m pip install --upgrade pip。

第四步:激活虚拟环境

先执行必要的安装包,防止下面依赖的包用时没有,命令如下:
$: sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel

初始化虚拟机:

$: pip install virtualenv

创建和激活虚拟环境:

$:python3 -m venv venv

$: . venv/bin/activate

备注:. venv/bin/deactivate或  deactivate env

第五步:安装开始apache-superset

$: pip install apache-superset

在执行“pip install apache-superset”,出现No matching distribution found for pandas的错误提示,如果出现上面问题执行:pip install --upgrade pip,可以避免很多坑。

如果出现下面这个错误,则执行需要安装 gcc-c++之后再重新执行 pip install apache-superset。

$:yum install gcc-c++

初始化数据库

$: superset db upgrade

创建管理员账户

$: export FLASK_APP=superset

$:superset fab create-admin

加载示例数据,这一步可选,其中可以通过“ superset fab --help”查看帮助命令。

$:superset load_examples

创建默认角色和权限

$: superset init

启动(如果有防火墙,请先将端口号放开,我的端口是8080)

$: superset run -h 0.0.0.0 -p 8080 --with-threads --reload --debugger

备注后台启动:nohup superset run -h 0.0.0.0 -p 8080 --with-threads --reload --debugger &

第六步:汉化步骤

  1. 检查/opt/venv/lib/python3.7/site-packages/superset/translations/zh/LC_MESSAGES/目录下是否有两个文件messages.mo和messages.po。

$:cd /opt/venv/lib/python3.7/site-packages/superset/translations/zh/LC_MESSAGES/

  1. 回到目录/opt/venv/lib/python3.7/site-packages/superset修改config.py文件,并执行编译命令“pybabel compile -d translations

$: cd /opt/venv/lib/python3.7/site-packages/superset

$: vim config.py

将“BABEL_DEFAULT_LOCAL”的值改成“zh”。

$: pybabel compile -d translations

执行编译命令后,zh/LC_MESSAGES/文件夹下多个message.json文件。

重启服务发现只部分汉化了,是因为我们编译时,部分翻译的英文路径找不到。

自制文件message.json

到地址https://github.com/ApacheInfra/superset/blob/master/superset/translations/zh/LC_MESSAGES/messages.po,将内容message.json内容copy至本次生成message.json文件,utf-8格式保存。上传至superset的目录zh/LC_MESSAGES/替换原来的message.json文件。

第七步: 安装过过程中的问题解答

1、连接mysql需要安装驱动

$:pip install mysql-connector-python

连接mysql格式(端口号可以不配,默认就是3306):

mysql+mysqlconnector://{username}:{password}@{host}/{database}

2、防火添加端口号:

$:firewall-cmd --zone=public --add-port=8088/tcp –permanent   //放开端口号

$:firewall-cmd --reload   //重新加载配置

如果出现错误“Centos7 firewall-cmd 命令报错 ModuleNotFoundError: No module named ‘gi‘”,

则vim /usr/bin/firewall-cmd修改第一行python为python2.7

运行  yum install ifconfig出现“no package ifconfig available”则执行  yum install net-tools.x86_64

我们运行以下命令查找yum search ifconfig

以上运行结果,我们只要分析最好一行就可以。Matched: ifconfig 这个 分割行 是用来显示 匹配结果的。

最后一行 中 冒号(:)前面的数据, (net-tools.x86_64 )  是匹配的软件包;冒号(:)后面的数据,(Basic networking tools ) 是对前面包的描述。结合上面的信息,即 通过运行 yum search ifconfig  提示我们: 安装ifconfig 包 只需要安装 net-tools.x86_64 即可。

所以,我们执行 yum install net-tools.x86_64 

-----------------------------------------------------------------------------------------

  1. Was unable to import superset Error: No module named 'wtforms_json'

    1. 解决办法: pip install WTForms-JSON
  2. Was unable to import superset Error: No module named 'flask_compress'
    1. 解决办法:pip install Flask-Compress
  3. Was unable to import superset Error: No module named 'flask_migrate'
    1. 解决办法:pip install flask-migrate

如果报:Could not find a version that satisfies the requirement flask-talisaman,

则执行:pip install flask -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

  1. Was unable to import superset Error: No module named 'celery'

    1. 解决办法:pip install celery
  2. Was unable to import superset Error: No module named 'flask_talisman'
    1. 解决办法:pip install flask-talisaman

如果不行,则执行:pip install  flask_talisman -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

  1. Was unable to import superset Error: No module named 'flask_caching'

    1. 则执行:pip install flask_caching
  2. Was unable to import superset Error: No module named 'sqlparse'
    1. 则执行:pip install 'sqlparse'
  3. Was unable to import superset Error: No module named 'bleach'
    1. 则执行:pip install 'bleach'
  4. Was unable to import superset Error: No module named 'markdown'
    1. 则执行:pip install 'markdown'
  5. Was unable to import superset Error: No module named 'parsedatetime'
    1. 则执行:pip install 'parsedatetime'

13、pkg_resources.ContextualVersionConflict: (Flask 0.12 (/root/venv/lib/python3.7/site-packages), Requirement.parse('Flask<2.0,>=1.0'), {'Flask-JWT-Extended'})

则执行pip install flask==1.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

Looking in indexes: http://pypi.douban.com/simple/

CentOS7.9安装部署superset相关推荐

  1. 云计算基础课堂001 Linux系统与CentOS7的安装部署(小白向—怎么在VMware虚拟机安装基于Linux操作系统的CentOS7)

    云计算基础课堂001 Linux系统与CentOS7的安装部署 一.通过VMware部署CENTOS7系统 软件 创建虚拟机 安装CentOS7 进入并登陆系统 二.Linux历史与其发行版故事 三. ...

  2. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 文章目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 k ...

  3. centos7 如何安装部署k8s_架构运维篇(五):Centos7/Linux中安装部署RocketMQ

    上一篇 架构运维篇(四):Centos7/Linux中Tomcat安装SSL证书实践 这一篇讲一下在Centos7/Linux安装RocketMQ,MQ的具体应用场景和使用就不再啰嗦了.我在没有使用过 ...

  4. 最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)

    一.前言   最近笔者学习Elasticsearch,官方最新稳定版为 Elasticsearch-8.4.3,想在云服务器上Centos7.9搭建.搭建之路坑多路少啊(指网上的博文教程五花八门,基本 ...

  5. Centos7下安装部署nagios-server

    目录 1. nagios简介 2. 服务器准备 2.1 主机信息+IP地址 2.2 查看主机的系统版本信息 2.3 暂时关掉Selinux和防火墙 3. 安装nagios依赖包和需要的环境 3.1 安 ...

  6. Centos7下安装部署oracle数据库方法及问题汇总

    目标:在centos7上配置oracle数据库服务器,并在win7上面使用pl/sql成功访问该oracle数据库 系统环境: 服务器:centos7 64位 客户端:win7 64位 注意cneto ...

  7. CentOS7.4安装部署openstack[Liberty版](1)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack 是一 ...

  8. Linux Centos7.x 安装部署Mysql5.7几种方式的操作手册

    简述 Linux  Centos7.x 操作系统版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,下面介绍下在centos7.x环境里安装mysql5.7的几种方法: 一. ...

  9. 为什么root下不能使用passwd命令_基于centos7下安装部署openldap+phpldapadmin

    01初始化准备 系统CentOS7 64位 配置yum源 wget http://mirrors.aliyun.com/repo/Centos-7.repo cp Centos-7.repo /etc ...

最新文章

  1. jsp空间流量是怎么计算的?
  2. [转]UI设计小技巧
  3. python爬虫基础(二)~工具包: 下载包requests、urllib和解析包BeautifulSoup(bs4)、lxml.etree.xpath
  4. CV之YOLOv3:深度学习之计算机视觉神经网络Yolov3-5clessses训练自己的数据集全程记录
  5. BJUI使用ajax异步表单提交时后台action要加@ResponseBody
  6. nohup: 无法运行命令 ‘/bin/java‘: 没有那个文件或目录
  7. Linux中使用netstat命令的基本操作,排查端口号的占用情况
  8. android 播放声音资源,android播放音效例子 (翻页音效、警报音效通用 只需传入声音源)...
  9. Emacs sql-mode 自动连接数据库 (当前仅支持MySQL)
  10. (四)比特币时间序列数据的AI预测
  11. 深度神经网络面临的挑战与解决方案
  12. 关于Firefox浏览器设置默认字体的教程
  13. C#-WinForm-发送邮件
  14. 仓库选址(排序不等式)
  15. java svn插件_eclipse 安装SVN插件 subversive
  16. 微信H5开发-采坑记
  17. 快捷连接 残差_残差网络解决了什么问题
  18. 两个计算机怎么共享一台打印机共享,多台电脑怎样共享一台打印机?这两个设备完美实现!...
  19. Unity动态天空shader实现
  20. 美团智能支付稳定性测试实战

热门文章

  1. 【STM32+cubemx】0011 HAL库开发:I2C总线访问加速度传感器ADXL345
  2. uni-app小程序echarts中tooltip被遮盖
  3. 小度C1可以改语言吗,小度音箱怎么更改唤醒词
  4. SAP 采购订单抬头屏幕增强(ME21N/ME22N/ME23N)
  5. MOOC-浙江大学-博弈论基础-学习笔记(八)
  6. linux arm 汇编学习,如何在LINUX平台上学习GNU ARM汇编
  7. 了解DMA (串口DMA发送接收)
  8. php门禁系统开发,物联网门禁管理系统设计思路分析
  9. Qt之QComboBox 解决下拉列表样式不生效、item文字重叠
  10. 调剂b区二本计算机,考研电子信息调剂究竟有多惨烈……调二本竟也要310分