zoukankan      html  css  js  c++  java
  • Redash 二开

    Redash 二开 - 后端环境搭建

    一.操作系统选择

    官方文档有一句话:Windows users: while it should be possible to run Redash on a Windows machine, we don’t know anyone who did this and lived to tell. We recommend using some sort of a virtual machine or Docker in such case. 当时没有注意,后面掉在坑里了,若对 Redash 进行二开,务必不要使用 Windows:第一点 Redash 依赖的 Python 包在Windows安装,本地编译的时候各种报错,不过还算都能解决。最要命的是第二点,某些包依赖的标准库模块,Windows 上没有,比如 group pwd 等。经过一下午和包安装的战斗,总算解决了,最后信心满满的想跑起来的时候,各种模块找不到。

    在这里推荐的操作系统是 OSX,因为各种生产力工具都支持 OSX,如果没有这个条件推荐 Linux,Ubuntu 或者国产 Deepin,因为公司的 mac 都分配完了,所以我选择了安装一个 Deepin ,就在本机安装,和 Windows 10 组个双系统。如果说装 Deepin 尽量使用固态。安装教程传送门 ,安装好以后会自动设置双系统引导。

    二.必要环境安装

    1.Git

    apt-get install git
    

    安装文档

    2.Python 3.7

    在 Redash 9.0.x 版本支持的 Python 最高版本为 3.7.9,因为 3.8 对一些模块有了改变,无法使用。

    请根据 官方文档 进行安装

    3.可视化 Git 管理工具

    OSX 推荐 SourceTree , Linux 推荐 SmartGit

    4.Navicat Premium 15

    Navicat Premium 支持多种数据源,是非常方便的可视化 DBMS

    5.Pycharm

    特别说明:Deepin 可以在 应用商店安装 微信,但是钉钉无法安装,可以使用网页版 https://im.dingtalk.com/

    对于 Deepin 可能遇到的一些问题:

    三.安装 Redash 依赖

    通过 pip 安装依赖前请务必执行以下命令安装软件包,否则安装过程可能出现几个包报错,

    #pyodbc https://github.com/mkleehammer/pyodbc/issues/276
    sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
    sudo apt-get install unixodbc-dev
    
    #pycrypto https://stackoverflow.com/questions/50080459/failed-installing-pycrypto-with-pip
    sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
    
    #psycopg https://stackoverflow.com/questions/55581941/getting-error-when-installing-psycopg2-2-8-1
    sudo apt-get install libpq-dev 
    
    #mysqlclient https://pypi.org/project/mysqlclient/1.3.14/
    sudo apt-get install python-dev default-libmysqlclient-dev
    

    使用 Pycharm 打开 Redash 文件夹,选择菜单:File->Settings->Project Interpreter 创建虚拟环境

    image-20200930160346529

    创建好虚拟环境后,在 Pycharm 的 Terminal 执行

    pip -r requirements.txt -r requirements_dev.txt -r requirements_all_ds.txt
    

    必须全部安装成功,若一个没有安装成功就去Google查找解决方案。

    四.调试和运行配置

    1.编辑数据库连接信息

    打开 项目根目录/redash/settings/__init__.py

    修改 redis 地址:

    "REDASH_REDIS_URL", os.environ.get("REDIS_URL", "redis://<redis ip>:6379/<redis db>")
    

    修改 postgresql 地址:

    "REDASH_DATABASE_URL", os.environ.get("DATABASE_URL", "postgresql://<用户名>:<密码>@<ip>:5432/<数据库名称>")
    

    2.执行数据库迁移

    在 Terminal 输入:

    ./manage.py database create_tables
    

    3.启动RQ

    在 Terminal 新开两个选项卡,分别执行以下命令来启动

    # RQ Worker
    ./manage.py rq worker
    #RQ Scheduler
    ./manage.py rq scheduler
    

    Worker:

    image-20200930161247945

    Scheduler:

    image-20200930161314469

    4.设置调试配置

    直接运行Server的命令是:

    ./manage.py runserver --debugger --reload
    

    这样无法调试,调试需要添加配置:

    image-20200930161450642

    这样启动访问 https://localhost:5000 发现UI很简陋,需要我们自己启动前端项目。

    五.启动前端项目

    1.安装 Node

    2.安装依赖

    npm i -g @babel/cli
    npm i -g @babel/core
    
    npm install
    

    3.运行

    在 Pycharm Terminal 新建一个选项卡,输入 npm run watch 即可启动

    六.结束

    安装过程全是辛酸泪,从最开始的 Windows 上折腾 Python 依赖的问题,到最后确实无法运行的结果,然后又装 Deepin 从零搭建开发环境到运行起来(花了一个下午),几经波折,终究是如愿以偿。此间遇到的问题,全都写在文中了,希望能帮到大家。最后发一张 Deepin 系统和成功跑起来的 Redash 的图。

    image-20200930162433269

  • 相关阅读:
    android 源码
    android 保护
    电池信息 显示
    RGB、HSB、HSL 互相转换算法
    网页美工
    css 设计标准
    js 封闭 小结
    格式转换工具
    网页设计规范
    瀑布流分析
  • 原文地址:https://www.cnblogs.com/stulzq/p/13755216.html
Copyright © 2011-2022 走看看