早在 2016 年,Tableau 就发布了 TabPy,一个可以在 Tableau 工作簿中运行 Python 代码的新 API 。在 Tableau 中引入Python 服务能轻松扩展报表的计算及表达能力。
今天的栗子,我们来分享 Windows 版本的 Tableau Server 配置 Python 的方法。使用 Linux 服务器的用户,相信已具备一定的技术能力,可参考栗子方法配置。
本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:为服务器配置可用的 Python 环境
在本示例中,我们会将 TabPy 跟 Tableau Server 安装在同一台 Windows 机器中,整个安装及配置过程并不复杂。
具体步骤如下:
1、 下载安装 Anaconda
登录 Anaconda 官网(链接如下,可拷贝至浏览器打开),单击 Download 下载最新版本。
https://www.anaconda.com/products/individual
下载完成后,双击 Anaconda 安装包进行安装。配置可按实际情况选择,下图仅供参考。
1
2
3
4
5
2、 在线安装 Tabpy
安装完成后,打开 Anaconda。在开始菜单中找到 Anaconda Prompt 并打开, 输入:pip install tabpy,回车并等待安装完成。
3、 运行 tabpy 服务
接着,输入 tabpy 运行 tabpy服务。注意:不要关闭此窗口!
4、在 Tableau Server 中配置 tabpy 服务
使用管理员帐号登陆 Tableau Server,单击:设置-扩展程序,勾选:为站点启用分析扩展程序。然后单击“创建新连接”,弹出的选择连接类型页面选择:TabPy。
在新建连接页面输入以下内容,单击“创建”。最后记得在扩展程序页面单击“保存”,这样 TabPy 服务就配置成功了。
5、 测试验证
最后,我们需要测试验证:发布一个测试工作簿,测试一下 TabPy 是否正常工作。Desktop 的 TabPy 配置在菜单“帮助->设置和性能->管理分析扩展程序连接”中,指定 TabPy 服务器 IP 和端口即可。
测试工作簿请访问以下链接,单击页面右上角“下载数据源”下载:
https://www.dkmeco.com/cms/course/detail/566
栗子 Tips
为了让栗子通俗易懂,示例以最简洁的方式演示了如何配置 TabPy。但实际应用中可能会有各种各样的需求和意外情况,在此列出几个常用的 Tips 供参考:
► 离线安装 TabPy
如果是在离线环境安装,可以先找一台联网的机器,下载安装包,再上传到离线服务器上安装。
i. 生成当前环境依赖包:
#pip freeze > requirement1.txt
ii. 安装需要的包,如tabpy:
#pip install tabpy
iii. 查找不匹配行,列出的就是新添加的安装包:
#pip freeze | findstr /v /g:requirement1.txt > requirement2.txt
iv. 批量下载离线包:
#pip download -d C:\mypkg -r requirement2.txt
v. 把下载的离线包和requirement2.txt文件拷贝到离线服务器,并安装:
#pip install --no-index --find-links=C:\mypkg -r requirement2.txt
► 为 tabpy 添加用户密码
i. 打开
D:\Anaconda3\Lib\site-packages\tabpy\tabpy_server\common目录
ii. 生成密码文件:
tabpy-user add -u admin -p 123456 -f D:\Anaconda3\Lib\site-packages\tabpy\tabpy_server\common\tabpypwd.txt
iii. 然后配置default.conf文件,指定:
TABPY_PWD_FILE=D:\Anaconda3\Lib\site-packages\tabpy\tabpy_server\common\tabpypwd.txt
iv. 运行tabpy时添加配置文件地址,如:
tabpy --config=D:\Anaconda3\Lib\site-packages\tabpy\tabpy_server\common\default.conf
► 配置为启动任务时的 bat 脚本:
@echo off
call D:\Anaconda3\Scripts\activate.bat D:\Anaconda3
start /min D:\Anaconda3\Scripts\tabpy.exe
pause
本期的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!
下一期,再见~
文章部分信息来源于网络,如有侵权请告知