一锄奢、使用virtualenv創(chuàng)建虛擬環(huán)境
cd 到創(chuàng)建項(xiàng)目的路徑
virtualenv project_name
二、配置虛擬環(huán)境
根據(jù)官網(wǎng)教程配置虛擬環(huán)境
Install superset
pip install superset
Create an admin user (you will be prompted to set username, first and last name before setting a password)
fabmanager create-admin --app superset
Initialize the database
superset db upgrade
Load some data to play with
superset load_examples
Create default roles and permissions
superset init
Start the web server on port 8088, use -p to bind to another port
superset runserver
To start a development web server, use the -d switch
superset runserver -d
這些過(guò)程按部就班即可。
三、配置元數(shù)據(jù)庫(kù)(SQLite->Mysql)
superset后端使用sqlalchemy來(lái)配置數(shù)據(jù)庫(kù),只需要在config.py配置一個(gè)連接字符串即可绞铃。
以mysql為例:
SQLALCHEMY_DATABASE_URI = 'mysql://賬號(hào):密碼@IP地址或者h(yuǎn)ostname/數(shù)據(jù)庫(kù)名?charset=utf8'
目前來(lái)看還是不能連接到mysql數(shù)據(jù)庫(kù),因?yàn)槌绦虿⑽磸腸onfig.py讀取配置信息嫂侍,正在查找原因儿捧。
所以荚坞,需要進(jìn)行本地配置,在項(xiàng)目的根目錄新建一個(gè)superset_config.py的文件菲盾。
比如項(xiàng)目根目錄叫/home/nzh/superset_project颓影,superset_config.py就放到這個(gè)路徑下。
superset_config.py內(nèi)容如下:
#---------------------------------------------------------
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000
SUPERSET_WORKERS = 4
SUPERSET_WEBSERVER_PORT = 8088
#---------------------------------------------------------
#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'mysql://賬號(hào):密碼@ip或者主機(jī)地址/數(shù)據(jù)庫(kù)名?charset=utf8'
# Flask-WTF flag for CSRF
CSRF_ENABLED = True
# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
在完成了config.py文件后懒鉴,需要對(duì)系統(tǒng)的'PYTHONPATH'環(huán)境變量進(jìn)行配置诡挂。
打開(kāi)終端,輸入export PYTHONPATH=/home/nzh/superset_project临谱。這個(gè)路徑也就是存放config.py的路徑璃俗。
再輸入,echo $PYTHONPATH悉默。來(lái)查詢PYTHONPATH是否成功保存城豁。
但是這樣做有個(gè)弊端,就是當(dāng)這個(gè)終端窗口關(guān)閉后抄课,這個(gè)環(huán)境變量就消失了唱星,所以我們需要?jiǎng)?chuàng)建永久的環(huán)境變量。
打開(kāi)終端跟磨,輸入vim /etc/profile间聊,profile是系統(tǒng)環(huán)境變量的配置文件。
在文件結(jié)尾處吱晒,加上紅框中的內(nèi)容甸饱,保存并退出
vim 操作提示
在使用vim命令進(jìn)入文件后,按‘I’開(kāi)啟編輯模式仑濒,可修改文件。
在編輯結(jié)束后按一下‘ESC’偷遗,然后輸入‘:wq’墩瞳。意思是保存并退出。
然后再終端再輸入一句氏豌,source /etc/profile喉酌。這句命令的作用是,立即執(zhí)行profile文件泵喘,如果不輸入這條命令泪电,那么將在下次開(kāi)啟終端時(shí)才會(huì)查到環(huán)境變量。
運(yùn)行superset
進(jìn)入虛擬環(huán)境纪铺,然后輸入superset runserver -p 端口號(hào) 來(lái)運(yùn)行應(yīng)用相速。
如果所示,superset_config.py文件已經(jīng)被加載鲜锚,元數(shù)據(jù)庫(kù)成功切換到Mysql突诬。
注意Linux系統(tǒng)的文件權(quán)限
錯(cuò)誤的原因是苫拍,config.py文件我從本地上傳到服務(wù)器的,但是并沒(méi)有直接放入項(xiàng)目目錄旺隙,而是/home/xx中xx這個(gè)目錄(我的項(xiàng)目在/home/nzh中)绒极,在使用mv命令將文件移至項(xiàng)目目錄后,程序仍不能找到改文件蔬捷,進(jìn)過(guò)和同事共同查找原因垄提,發(fā)現(xiàn)是文件權(quán)限不同。
使用命令chmod 777 文件名周拐,用來(lái)獲取使用文件的權(quán)限塔淤。
此時(shí)superset_configt.py文件就可以被讀出來(lái)了。