Python脚本报'tableauserverclient模块未找到'错误求助
问题分析与解决
核心问题点
- 虚拟环境脚本
vir_env.sh存在语法与逻辑错误source /c/sparrow/emp/.rmp_rp错误:source需指向虚拟环境的activate脚本,而非目录python_path= /c/sparrow/emp/.rmp_rp存在空格,不符合shell变量赋值语法(赋值号前后不能有空格)
- 触发脚本
trigger.sh逻辑冗余且执行命令错误- 重复设置
python_path,激活虚拟环境后python命令已自动指向虚拟环境版本,无需手动指定 ${python_path}/c/sparrow/acnt/test.py写法错误,命令与参数需用空格分隔,正确格式为${python_path} /c/sparrow/acnt/test.py
- 重复设置
- 依赖库未安装到虚拟环境
你确认的tableauserverclient存在于系统site-packages,但虚拟环境默认隔离系统库,必须在虚拟环境内重新安装该依赖
修复后的脚本配置
1. 修正vir_env.sh(仅保留虚拟环境创建逻辑)
#!/bin/bash python_path=/c/sparrow/acnt/rh-python38/root/usr/bin/python # 创建虚拟环境(仅第一次执行需要,后续可注释) ${python_path} -m venv /c/sparrow/emp/.rmp_rp
2. 修正trigger.sh
#!/bin/bash # 激活虚拟环境 source /c/sparrow/emp/.rmp_rp/bin/activate # 在虚拟环境中安装依赖(仅第一次执行需要,后续可注释) pip install tableauserverclient # 执行Python脚本 python /c/sparrow/acnt/test.py # 可选:手动执行时可添加此命令退出虚拟环境,脚本执行完会自动退出 # deactivate
验证步骤
- 给脚本添加执行权限:
chmod +x /c/sparrow/acnt/vir_env.sh /c/sparrow/acnt/trigger.sh - 首次执行:先运行
vir_env.sh创建虚拟环境,再运行trigger.sh完成依赖安装与脚本执行 - 后续直接运行
trigger.sh即可
内容的提问来源于stack exchange,提问作者Sparrow
相关产品推荐
相关产品推荐

