Superset Windows二次開發環境搭建

_fun_ny發表於2024-08-20

截止到2024.08.20最新版本是4.0.2

  • 拉取程式碼倉庫https://github.com/apache/superset.git

  • 切換到當前最新的Tag:4.0.2

    git checkout 4.0.2
    
  • 使用conda管理Python環境,本次使用的python為3.9

  • 參考官方文件 pip install -r requirements/development.txt時會報錯,主要是兩個依賴安裝報錯python-geohash和python-ldap

    1. 先安裝python-geohash,本機安裝時報錯如下:

image

從https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/下載工具安裝,安裝的工具如下

image

  1. 接著安裝python-ladp,這裡使用預編譯方式安裝,從https://github.com/cgohlke/python-ldap-build/下載3.9版本.whl檔案,我安裝的是:https://github.com/cgohlke/python-ldap-build/releases/download/v3.4.4/python_ldap-3.4.4-cp39-cp39-win_amd64.whl 這個倉庫可能是保留最新的兩個版本,所以要和superset需要的版本對應,專案中使用的版本在requirements/development.txt指定,我安裝的是3.4.4,自行修改版本或者直接下載檔案中對應的版本,接著執行命令pip install python_ldap-3.4.4-cp39-cp39-win_amd64.whl即可
  2. 重新執行pip install -r requirements/development.txt
  • 專案根路徑執行pip install -e .

  • 在專案根路徑建立superset_config.py,配置SUPERSET_CONFIG_PATH環境變數指向該檔案,檔案內容如下

SECRET_KEY="BW9X7p/Ei02hJ/87h9VahNoiZi2xN+0frl0spvCMngIT0I/2mGrmPqCc" #openssl rand -base64 42自己生成
SQLALCHEMY_DATABASE_URI=""#配置自己的資料庫連線
BABEL_DEFAULT_LOCALE = "zh"#預設中文
  • 完全漢化

    1. pip instal pybabel
    2. 專案根路徑執行 pybabel compile -d .\superset\translations\編譯漢化檔案
  • 編譯前臺資源

    1. 使用nvm管理node版本,nvm install 18
    2. nvm use 18
    3. 進入superset-frontend資料夾執行npm installnpm run build,如果沒有問題的話,生成的靜態檔案在superset/static資料夾
  • 接著參照官網命令依次執行

# Initialize the database
superset db upgrade

# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)
superset fab create-admin

# Create default roles and permissions
superset init

# Load some data to play with.
# Note: you MUST have previously created an admin user with the username `admin` for this command to work.
superset load-examples

# Start the Flask dev web server from inside your virtualenv.
# Note that your page may not have CSS at this point.
# See instructions below how to build the front-end assets.
superset run -p 8088 --with-threads --reload --debugger --debug

相關文章