使用用户定义的 python 函数。 "ModuleNotFoundError"、画面、塔比
Use user defined python functions. "ModuleNotFoundError", Tableau, Tabpy
我正在尝试使用 Tabpy 界面使用 Tableau 调用 python 函数,但我收到 "No module named interface_v1" 错误。我采取的步骤:
- 使用 git 说明安装 tabpy here
- 在名为 interface_v1.py 的文件中定义了我的函数。功能如下
def call_matlab(a):
return a
- 启动了 tabpy 服务器
- 打开了一个新的 Tableau 工作簿并连接到服务器
- 创建了一个新的计算字段:
SCRIPT_INT("import interface_v1 as inter
return inter.call_matlab(_arg1)", SUM([Body]))
当我尝试使用计算字段时,我在 tabpy 服务器日志中收到上述错误 ModuleNotFoundError。我将工作簿和 python 文件放在同一目录中,我也尝试将其放在 tabpy\modules\scripts 文件夹中。
注意:我没有在虚拟环境中使用 tabpy,而且我是 Tableau 的新手,如果我只是遗漏了一些东西,我深表歉意。感谢您的帮助。
这里最好的解决方案是将 'interface_v1.py' 作为 tabpy 服务器上的端点进行部署。
这样做的好处是速度快得多,加载到内存中等...否则您将需要探索加载您引用的文件到 tabpy 所在的同一目录中 运行。我强烈建议端点。
documentation 相当简单。
基本上,您将对您的信息执行以下操作:
from tabpy.tabpy_tools.client import Client
client = Client('http://localhost:9004/')
def call_matlab(a):
return(a)
client.deploy('call_matlab', call_matlab, 'Pass data to call_matlab')
然后您应该可以从 tableau 中调用命名函数
script_int("tabpy.query('call_matlab',_arg1)",[COL_TO_SEND])
显然会针对您的特定用例进行调整。
我正在尝试使用 Tabpy 界面使用 Tableau 调用 python 函数,但我收到 "No module named interface_v1" 错误。我采取的步骤:
- 使用 git 说明安装 tabpy here
- 在名为 interface_v1.py 的文件中定义了我的函数。功能如下
def call_matlab(a):
return a
- 启动了 tabpy 服务器
- 打开了一个新的 Tableau 工作簿并连接到服务器
- 创建了一个新的计算字段:
SCRIPT_INT("import interface_v1 as inter
return inter.call_matlab(_arg1)", SUM([Body]))
当我尝试使用计算字段时,我在 tabpy 服务器日志中收到上述错误 ModuleNotFoundError。我将工作簿和 python 文件放在同一目录中,我也尝试将其放在 tabpy\modules\scripts 文件夹中。
注意:我没有在虚拟环境中使用 tabpy,而且我是 Tableau 的新手,如果我只是遗漏了一些东西,我深表歉意。感谢您的帮助。
这里最好的解决方案是将 'interface_v1.py' 作为 tabpy 服务器上的端点进行部署。
这样做的好处是速度快得多,加载到内存中等...否则您将需要探索加载您引用的文件到 tabpy 所在的同一目录中 运行。我强烈建议端点。
documentation 相当简单。
基本上,您将对您的信息执行以下操作:
from tabpy.tabpy_tools.client import Client
client = Client('http://localhost:9004/')
def call_matlab(a):
return(a)
client.deploy('call_matlab', call_matlab, 'Pass data to call_matlab')
然后您应该可以从 tableau 中调用命名函数
script_int("tabpy.query('call_matlab',_arg1)",[COL_TO_SEND])
显然会针对您的特定用例进行调整。