Python 설치하기
공식 사이트에서 python-3.10.9-amd64.exe파일을 다운로드하여 설치합니다.
Node.js 설치하기
다음 공식사이트에서 최신 버전을 다운로드하여 설치합니다.
Visual Studio Build Tools 설치하기
최신 버전의 Visual Studio Build Tools를 다운로드하는 사이트입니다.
이글에서는 Visual Studio Build Tools 2019를 설치하기 위해 과거 버전 다운로드 사이트를 사용합니다.
다운로드한 파일을 실행합니다.
vs_BuildTools_????.exe
“C++를 사용한 데스크톱 개발”를 선택하면 오른쪽 영역의 체크박스가 자동으로 선택됩니다.
[설치]버튼을 눌러 인스톨을 진행합니다.
설치가 완료 화면 [X]버튼을 클릭해서 화면을 닫습니다.
apachesuperset 설치하기
다음은 Windows PowerShell에서 실행했습니다. 명령프롬프트를 사용한다면 아래의 Invoke-WebRequest명령 사용 대신 웹브라우저에서 직접 파일을 다운로드합니다.
C:\> mkdir c:\app\superset
C:\> cd c:\app\superset
C:\app\superset>
C:\app\superset> pip --version
pip 22.3.1 from C:\app\Python310\lib\site-packages\pip (python 3.10)
C:\app\superset> python --version
Python 3.10.9
C:\app\superset> pip install --upgrade setuptools
.. 중간생략 ..
Successfully installed setuptools-68.2.2
[notice] A new release of pip available: 22.3.1 -> 23.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip
C:\app\superset> python.exe -m pip install --upgrade pip
.. 중간생략 ..
Successfully installed pip-23.2.1
C:\app\superset> dir
C:\app\superset> python -m venv venv
C:\app\superset> dir
디렉터리: C:\app\superset
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023-10-08 오후 9:08 venv
C:\app\superset> dir venv
디렉터리: C:\app\superset\venv
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023-10-08 오후 11:13 Include
d----- 2023-10-08 오후 11:13 Lib
d----- 2023-10-08 오후 11:13 Scripts
-a---- 2023-10-08 오후 11:13 81 pyvenv.cfg
C:\app\superset> dir venv\Scripts
디렉터리: C:\app\superset\venv\Scripts
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023-10-08 오후 9:09 2060 activate
-a---- 2023-10-08 오후 9:09 989 activate.bat
-a---- 2023-10-08 오후 9:09 24167 Activate.ps1
-a---- 2023-10-08 오후 9:09 393 deactivate.bat
-a---- 2023-10-08 오후 9:09 108398 pip.exe
-a---- 2023-10-08 오후 9:09 108398 pip3.10.exe
-a---- 2023-10-08 오후 9:09 108398 pip3.exe
-a---- 2023-10-08 오후 9:08 266624 python.exe
-a---- 2023-10-08 오후 9:08 254848 pythonw.exe
C:\app\superset> venv\Scripts\activate
(venv) C:\app\superset>
(venv) C:\app\superset> Invoke-WebRequest "https://bootstrap.pypa.io/get-pip.py" -o get-pip.py
(venv) C:\app\superset> python get-pip.py
Collecting pip
.. 중간생략 ..
Successfully installed pip-23.2.1 wheel-0.41.2
(venv) C:\app\superset> dir venv\Scripts
.. 중간생략 ..
-a---- 2023-10-08 오후 9:18 108385 wheel.exe
(venv) C:\app\superset> pip install --upgrade setuptools pip
.. 중간생략 ..
Requirement already satisfied: pip in c:\app\superset\venv\lib\site-packages (23.2.1)
.. 중간생략 ..
Successfully installed setuptools-68.2.2
(venv) C:\app\superset> pip install psycopg2
Collecting psycopg2
.. 중간생략 ..
Successfully installed psycopg2-2.9.9
(venv) C:\app\superset> pip install pymssql
(venv) C:\app\superset> pip install pillow
Collecting pillow
.. 중간생략 ..
Successfully installed pillow-10.0.1
(venv) C:\app\superset> pip install apache-superset
Collecting apache-superset
Downloading apache-superset-3.0.0.tar.gz (48.1 MB)
---------------------------------------- 48.1/48.1 MB 6.8 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
... 이하생략 ...
(venv) C:\app\superset> cd venv\Scripts
(venv) C:\app\superset\venv\Scripts>
(venv) C:\app\superset\venv\Scripts> dir
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023-10-08 오후 11:23 __pycache__
-a---- 2023-10-08 오후 11:13 2060 activate
-a---- 2023-10-08 오후 11:13 989 activate.bat
-a---- 2023-10-08 오후 11:13 24167 Activate.ps1
-a---- 2023-10-08 오후 11:24 108390 alembic.exe
-a---- 2023-10-08 오후 11:24 108391 celery.exe
-a---- 2023-10-08 오후 11:24 108398 censusgeocode.exe
-a---- 2023-10-08 오후 11:13 393 deactivate.bat
-a---- 2023-10-08 오후 11:23 108389 dotenv.exe
-a---- 2023-10-08 오후 11:24 108391 email_validator.exe
-a---- 2023-10-08 오후 11:23 108393 f2py.exe
-a---- 2023-10-08 오후 11:24 108398 fabmanager.exe
-a---- 2023-10-08 오후 11:24 108385 flask.exe
-a---- 2023-10-08 오후 11:24 108390 jsonschema.exe
-a---- 2023-10-08 오후 11:24 108390 mako-render.exe
-a---- 2023-10-08 오후 11:24 108397 markdown-it.exe
-a---- 2023-10-08 오후 11:24 108391 markdown_py.exe
-a---- 2023-10-08 오후 11:23 108393 pgsanity.exe
-a---- 2023-10-08 오후 11:20 108398 pip.exe
-a---- 2023-10-08 오후 11:20 108398 pip3.10.exe
-a---- 2023-10-08 오후 11:20 108398 pip3.exe
-a---- 2023-10-08 오후 11:24 108399 pybabel.exe
-a---- 2023-10-08 오후 11:23 108392 pygmentize.exe
-a---- 2023-10-08 오후 11:13 266624 python.exe
-a---- 2023-10-08 오후 11:13 254848 pythonw.exe
-a---- 2023-10-08 오후 11:23 108393 sqlformat.exe
-a---- 2023-10-08 오후 11:24 108395 sshtunnel.exe
-a---- 2023-10-08 오후 11:24 108401 superset.exe
-a---- 2023-10-08 오후 11:23 108386 tabulate.exe
-a---- 2023-10-08 오후 11:23 1877 vba_extract.py
-a---- 2023-10-08 오후 11:23 108389 waitress-serve.exe
-a---- 2023-10-08 오후 11:20 108385 wheel.exe
apachesuperset 초기화/실행하기
시스템 환경변수에 FLASK_APP를 설정합니다.
set FLASK_APP=superset
set SUPERSET_HOME=C:\app\superset
Linux환경 또는 openssl명령이 있는 OS환경에서 다음명령으로 SECRET_KEY를 생성합니다.
$ openssl rand -base64 42
Pghcquj5uCqPAearrMFm4/sAWcFqCIUT6HgfYzkSIPrE0UB2EeHpaG1O
C:\app\superset\venv\superset_config.py에 다음과 같이 선언을 하면 C:\app\superset\venv\Lib\site-packages\superset\config.py정의된 내용을 덮어 씁니다.
SECRET_KEY = 'Pghcquj5uCqPAearrMFm4/sAWcFqCIUT6HgfYzkSIPrE0UB2EeHpaG1O'
BABEL_DEFAULT_LOCALE = "ko"
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
# "es": {"flag": "es", "name": "Spanish"},
# "it": {"flag": "it", "name": "Italian"},
# "fr": {"flag": "fr", "name": "French"},
# "zh": {"flag": "cn", "name": "Chinese"},
# "ja": {"flag": "jp", "name": "Japanese"},
# "de": {"flag": "de", "name": "German"},
# "pt": {"flag": "pt", "name": "Portuguese"},
# "pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
# "ru": {"flag": "ru", "name": "Russian"},
"ko": {"flag": "kr", "name": "Korean"},
# "sk": {"flag": "sk", "name": "Slovak"},
# "sl": {"flag": "si", "name": "Slovenian"},
# "nl": {"flag": "nl", "name": "Dutch"},
}
SQLALCHEMY_DATABASE_URI = 'postgresql://root:root@192.168.1.86:5432/root'
(venv) C:\app\superset\venv\Scripts> superset db upgrade
(venv) C:\app\superset\venv\Scripts> superset fab create-admin
(venv) C:\app\superset\venv\Scripts> superset load_examples
(venv) C:\app\superset\venv\Scripts> superset init
(venv) C:\app\superset> superset run -p 8088 --with-threads --reload --debugger
INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
위 메시지처럼 http://127.0.0.1:8088에서만 접속이 가능합니다. superset run —host 192.168.1.86 p 8088 –with-threads –reload –debugger으로 로컬 머신이외에서 접속하려하면 superset flask_wtf.csrf:The CSRF session token is missing.와 같은 에러가 발생합니다.
Running on http://127.0.0.1:8088
(venv) C:\app\superset> pip install waitress
(venv) C:\app\superset> waitress-serve --port 8088 --call "superset:create_app"
댓글