Настройка Superset 0.28.1 (текущий образ в пипсах), инструкции для Windows
- Следуйте инструкциям в документах до того, как непосредственно перед 'pip install superset'
- Это включает в себя глобальную 'pip install cryptography'.
Открыть командную строку в папке проекта:
:: Drop some lib versions (this is required specifically for 0.28.1 on Windows,
:: doesn't apply on current master):
pip install Pandas==0.23.4
pip install SQLAlchemy==1.2.18
:: jwt started getting specific about the flask version from 3.21.0..
pip install flask-jwt-extended==3.20.0
:: Add current folder to those searched by python for modules:
set PYTHONPATH=%cd%
python wenv\Scripts\superset db upgrade
set FLASK_APP=superset
flask fab create-admin
python wenv\Scripts\superset load_examples
python wenv\Scripts\superset init
:: Start flask devserver:
python wenv\Scripts\superset run -p 8005 --with-threads --reload --debugger
Настроить Supersetпутем git cloning в Windows (2019-08-11)
При настройке Superset 0.34rc1 из источника (с помощью командной строки) (взят в основном из RELEASING / Dockerfile.from_tarball, несколько изменено для окон)
git clone <superset repo>
Откройте оболочку в папке репозитория, затем установите и активируйте виртуальную среду:
python -m venv wenv
:: To activate in powershell: . .\wenv\Scripts\activate
wenv\Scripts\activate
Необходимо установить узел для сборки статического кода, просто установите пакет python 'nodeenv':
pip install nodeenv
Nodeenv похож на virtualenv, но для управления узлом.
Затем создайте виртуальный env узла с помощью nodeenv, поместив его в каталог nodeenv:
nodeenv nodeenv
Активируйте виртуальный env узла:
:: unlike virtualenv, nodeenv does not provide a script for activating
:: within git bash shell on windows, so we have to use command prompt
:: and convert a few commands to windows equivalents.
:: https://github.com/ekalinin/nodeenv/issues/226
:: To activate in powershell: . .\nodeenv\Scripts\Activate.ps1
nodeenv\Scripts\activate
cd superset\assets
npm ci
Глобальная установка веб-пакета:
npm install -g webpack webpack-cli
Установите NODE_ENV и запустите веб-пакет:
set NODE_ENV=production
:: Note that webpack build requires min 2048 GB of RAM,
:: and spawns many child node.js instances, each of which
:: also require copious resources. If it doesn't have enough
:: resources, the build will of course fail.
webpack --mode=production --colors --progress
Через некоторое время сборка должна завершиться, и файлы должны быть помещены в superset / assets / dist.
:: Remove node_modules dir as it's no longer needed:
rmdir /q /a node_modules
:: cd back to project root
cd ..\..
:: On Windows, it appears nodeenv replaces virtualenv settings,
:: it doesn't work concurrently, so open a new shell and re-activate
:: python env.
wenv\Scripts\activate
:: Just in case install latest pip etc.
python -m pip install --upgrade pip setuptools wheel
:: Install project python packages
:: v - leave out the r, you must not.
python -m pip install -r requirements.txt -r requirements-dev.txt
:: install pyodbc, if planning to connect to ms sql
pip install pyodbc
:: superset/static/assets is supposed to symlink to ../assets.
:: So we need to make a *windows symlink* or adjust setup.py..
:: Windows symlink method:
:: Open cmd.exe in admin mode or enable windows Settings /
:: Update and Security / For developers.
:: in superset/static, rename 'assets' file.
rename assets assets_linux
:: make windows symlink
mklink assets ..\assets
:: Or modify setup.py and remove "static" from PACKAGE_DIR:
:: PACKAGE_DIR = os.path.join(BASE_DIR, "superset", "assets")
:: Finally, install superset in editable mode
pip install -e .
:: compile language files (gettext .po files)
fabmanager babel-compile --target superset/translations
set PATH=%cd%\superset\bin;%PATH%
IF DEFINED PYTHONPATH (set PYTHONPATH=%cd%\superset;%PYTHONPATH%) ELSE (set PYTHONPATH=%cd%\superset)
Fromздесь мы примерно следуем RELEASING \ from_tarball_entrypoint.sh:
:: If symlink was not created for /static/assets earlier:
:: Adjust superset/config.py, line 52 so it doesn't look in the 'static' folder anymore
:: This can also be adjusted by creating a superset_config.py file that overrides config.py..
:: PACKAGE_DIR = os.path.join(BASE_DIR, "assets")
python wenv\Scripts\superset db upgrade
set FLASK_APP=superset
flask fab create-admin
python wenv\Scripts\superset load_examples
python wenv\Scripts\superset init
Запустить флешку devserver:
:: if superset/static/assets symlink was create, static files will be correctly served..
python wenv\Scripts\superset run -p 8005 --with-threads --reload --debugger
Установить последнюю версию Superset из клона git для Ubuntu Linux 18.04 (2019-08-11)
Откройте оболочку в папке репо, затем установите и активируйте виртуальную среду:
используйте символическую ссылку для исправления двоичного файла python для python 3.6 +
python3 -m venv lenv
source lenv/bin/activate
Нужно установить узел для сборки статического кода, просто установите пакет python 'nodeenv':
pip install nodeenv
Nodeenv похож на virtualenv, но для управления узлом.
Далее создайте виртуальный узел env с помощью nodeenv,поместив его в каталог узлов:
nodeenv lnenv
Activate node virtual env:
source lnenv/bin/activate
cd superset/assets
npm ci
Установите веб-пакет глобально (в данном случае глобально он будет помещен в виртуальную папку nodeenv):
npm install -g webpack webpack-cli
npm run build
Наконец, сборка должна завершиться, и файлыдолжен быть помещен в суперсет / assets / dist.
# Remove node_modules dir as it's no longer needed:
rm -rf node_modules
# cd back to project root
cd ../..
# Just in case install latest pip etc.
# Use python -m pip to avoid a possible issue where some packages
# attempt to write to global python repo..
python -m pip install --upgrade pip setuptools wheel
# Install project python packages
python -m pip install -r requirements.txt -r requirements-dev.txt
# Additionally install pyodbc, if one needs to connect to ms sql
pip install pyodbc
# Install superset in editable mode
pip install -e .
# Compile language files (gettext .po files)
fabmanager babel-compile --target superset/translations
# Append to PYTHONPATH if it already exists.
export PATH=$(pwd):$PATH
if [ -z "$PYTHONPATH" ]
then
export PYTHONPATH=$(pwd):$PYTHONPATH
else
export PYTHONPATH=$(pwd)
fi
# Can also adjust SUPERSET_HOME to store default sqlite db in a different place.
# export SUPERSET_HOME=$(pwd)/superset_home
export MAPBOX_API_KEY=your_mapbox_key...
Отсюда мы примерно следуем RELEASES \ from_tarball_entrypoint.sh:
superset db upgrade
export FLASK_APP=superset
flask fab create-admin
superset load_examples
superset init
Запустить devserver фляги:
superset run -p 8005 --with-threads --reload --debugger