redash开发环境搭建Windows pycharm超详细2020.4.6
目录
Redash有多厉害就不用说了,我一开始用docker搭建了一遍,操作很简单,想着以后肯定要在开发,就打算用python搭建一下,没想到遇到无数坑,尤其是在win里,对我这个新手来说太难了,好在有前人铺路,总算是搭好了…😃
我用的都是最新的版本
搭建环境
- Windows
- Node.js
- pycharm
- python3.8.2
- 最新的redash-master,直接git或者下载压缩包
- PostgreSQL
- Redis
官网说的安装依赖项
前端
- 安装nodejs,最新的即可
- 进入Redash文件夹根目录,找到package.json文件
scripts里替换
"scripts":
{
"clean": "rd /s /q \"client/dist\"",
"build": "npm run clean && cross-env NODE_ENV=production webpack --progress --hide-modules --config webpack.config.js",
},
windows下不支持linux删除文件夹的rm -rf指令。改用 rd /s /q 指令
windows环境下如果client目录下没有dist会报错,在client下建一个dist文件夹
-
为了速度快点,我们添加淘宝的镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后运行(需要install后没有提示error)
cnpm install
cnpm install cross-env
cnpm run build
前端搭建完成,最后我们可用cnpm run watch来监视运行情况
-------------------------------------------------------
-
提供一个包卸载的命令。安装rimraf包
npm install rimraf -g
进入所需删除的node_modules文件夹的位置,卸载node_modules:
rimraf node_modules
服务端
安装redis
这个很简单,直接操作就行了,然后把服务开起来,后面连接要用
安装postgresql
参考https://blog.csdn.net/TheDreamMaster/article/details/90318602
我们就用默认生成一个名为postgres的数据库和一个名为postgres的数据库用户,记住用的密码,要在下面REDASH_DATABASE_URL里写入
也是把数据库运行起来
Pycharm里的配置
-
用pycharm打开redash-master,安装虚拟环境
-
安装python需要的包
pip install -r requirements.txt -r requirements_dev.txt
这里可能会遇到错误,pycrypto安装不上,直接改用pip install pycryptodome
,或者我们可以直接在根目录的requirements.txt里替换掉原来的
这样就直接安装上了,要保证requirements.txt、 requirements_dev.txt
里的所有包都安装上。
如果要用其他的数据源,需要从requirements_all_ds.txt
安装。
我这里有一行错误ERROR: boto3 1.12.36 has requirement botocore<1.16.0,>=1.15.36, but you'll have botocore 1.13.50 which is incompatible
,但是不影响。 -
在.eslintrc文件 rules 里面配置
"linebreak-style": [0 ,"error", "windows"]
, -
在
./redash/setting/init.py
文件中
配置redis
_REDIS_URL = os.environ.get(
"REDASH_REDIS_URL", os.environ.get("REDIS_URL", "redis://localhost:6379/0")
)
配置postgresql
SQLALCHEMY_DATABASE_URI = os.environ.get(
"REDASH_DATABASE_URL", os.environ.get("DATABASE_URL", "postgresql://postgres:你的数据库用户密码@127.0.0.1:5432/postgres")
)
293行的刷新次数改成500/hour,THROTTLE_LOGIN_PATTERN = os.environ.get("REDASH_THROTTLE_LOGIN_PATTERN", "500/hour")
- 然后检查变量配置
python ./manage.py check_settings
可能会遇到错误
我的psycopg2有问题,直接pip install psycopg2-binary
还有这个错误ImportError: cannot import name ‘clock’ from ‘time’ (unknown location), 重装pip install passlib
然后又遇到错误了,****d,这么多错…到底是谁的错啊
查了一下,pwd仅在Unix系统上存在,而在Windows系统上不存在。那就换个win里的包pip uninstall supervisor
,pip install supervirsor-win
。这里终于没报错了,服务端一定要配置好。(如果还遇到了其他的坑,看下最后的参考)**所以我们可以一开始就在requirements.txt文件里改pycryptodome和supervirsor-win(后面的版本号自己搜一下改掉)
启动
前端搭建好以后我们执行下面的命令:
-
创建数据库表
python ./manage.py database create_tables
-
启动web服务
python ./manage.py runserver --debugger --reload -h 0.0.0.0 -p 5000
-
赶紧上
http://localhost:5000/
看一眼吧
创一个用户
就进来了,欢迎使用~~--Grisha 写于2020.4.6
结语
至于什么Flask服务,其实不用添加,我们debugger了嘛。我一开始就是flask能启动,但网页打不开,一直报错,后来先check_settings,创建数据库表,这里都成功了最后才能运行。
参考
参考了两位大佬的经验
谢谢大家,有问题一起讨论