总体来说和windows中的安装一样,但是也少不了一些坑,这里主要解决一下这些坑。
Python3,PostgreSQL(9.5或更高版本),Redis(2.8.3或更高版本)和Node.js(v12或更高版本)
在MacOS上,可以用Homebrew进行安装。
# Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
我用的安装包装的,首次登陆设置一下postgres用户的密码,我设的123456,下面会用的这个密码。
具体设置参看后续文章 Mac搭建redash开发环境使用postgresql源(二)
requirements.txt,requirements_dev.txt,requirements_all_ds.txt
三个需求包文件。requirements.txt,requirements_dev.txt
必须安装。对于某些数据源类型,需要从requirements_all_ds.txt
安装其他依赖项。先吐槽一下公司的网,垃圾的要死,pip装包就不走字,换了清华的源也不行,有的包根本就连不上,要是用docker装redash的话你会死的,就算用阿里或者别的镜像那些个几千个包就这网速也会拖死人的。
当然这部分会出现各种各样的坑,我们来看一下:
open ~/.bash_profile
,加入export PATH="/Library/PostgreSQL/12/bin:$PATH"
,然后pip install psycopg2
,如果安装成功了,恭喜你(其实并没有什么用),等之后check_settings的时候依然会报错。所以!所以!所以!删掉psycopg2,上来直接pip install psycopg2-binary
,万事大吉。因为我想试试别的数据源,所以想把这里的需求包都装上,但是呵呵,一顿飘红,来挨个看一下吧。
open ~/.bash_profile
,export LDFLAGS="-L/usr/local/opt/openssl/lib:$PATH"
,export CPPFLAGS="-I/usr/local/opt/openssl/include:$PATH"
,brew install openssl
。brew install mysql-connector-c
,export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
export CPPFLAGS="-I/usr/local/opt/mysql-client/include"
,~/.zshrc
里写入一行source .bash_profile
,这样每次打开终端都会载入自己写的环境变量,这下可以装mysqlclient了吧。LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient==1.3.13
,为什么装1.3.13呢,因为下面还有一个坑。LDFLAGS=-L/usr/local/opt/openssl/lib pip install memsql
,可算是把这俩困难户装上了。 NumPy import failure:
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'numpy'
Call Stack (most recent call first):
CMakeLists.txt:186 (find_package)
-- Configuring incomplete, errors occurred!
See also "/private/var/folders/w6/xrjj_bc10cn50xhrbz03xchr0000gp/T/pip-install-ijwcbedx/pyarrow/build/temp.macosx-10.9-x86_64-3.8/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/w6/xrjj_bc10cn50xhrbz03xchr0000gp/T/pip-install-ijwcbedx/pyarrow/build/temp.macosx-10.9-x86_64-3.8/CMakeFiles/CMakeError.log".
error: command 'cmake' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pyarrow
Failed to build pyarrow
ERROR: Could not build wheels for pyarrow which use PEP 517 and cannot be installed directly
这个我放弃了,有没有大神来操作一下,我查的说是要用conda装?
如果你都装成功了,可以再
pip install -r requirements.txt -r requirements_dev.txt -r requirements_all_ds.txt
,看看你的包是不是都安上了。
接下来检查一下设置,因为我用的python3.8.2,所以
python3 ./manage.py check_settings
,成功的话会出来./redash/settings/_init_.py
里的设置。
数据库的地址,123456是你postgres的密码:
SQLALCHEMY_DATABASE_URI = os.environ.get(
"REDASH_DATABASE_URL", os.environ.get("DATABASE_URL", "postgresql://postgres:[email protected]:5432/postgres")
)
THROTTLE_LOGIN_PATTERN = os.environ.get("REDASH_THROTTLE_LOGIN_PATTERN", "500/hour")
再检查一下你的设置 python3 ./manage.py check_settings
。
使用以下命令安装所有软件包:
npm install
首次安装需要`:
npm run build
或者:
为了速度快点,加淘宝的镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后
cnpm install
cnpm run build
在大多数情况下,默认配置足以进行开发。 但是,如果您需要调整数据库配置,邮件或其他设置,请使用环境变量进行调整。
(网又断了,不知道刚才写的保存没。。。。)
python3 ./manage.py database create_tables
必须运行的主要Redash进程:
Web server
RQ worker(s) & scheduler
在开发中,还将运行Webpack的开发服务器或监视实用程序。
必须运行的主要Redash进程:
开两个终端
Web服务器:python3 ./manage.py runserver --debugger --reload -h 0.0.0.0 -p 5000
RQ:python3 ./manage.py rq worker
其他的:
RQ调度程序:python3 ./manage.py rq scheduler
前端监视过程以重建更改:npm run watch
这将导致Flask Web服务器在端口5000上进行侦听,Webpack重建对前端的更改,RQ worker准备运行查询,并且RQ计划程序可以排队定期任务。
在浏览器打开localhost:5000
注册一个账户就能登录了。