无法在SAP BODS中执行python命令。

问题描述 投票:1回答:1

我尝试在SAP BODS脚本中使用ksh执行python命令,在BODS服务器中运行一个名为 "zz.py "的程序。

print(exec('ksh', '-c "python --version"', 8));
print(exec('ksh', '-c "python zzz.py"', 8));

然而,在执行该脚本时,我得到了以下输出。

3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    0: Python 2.7.9
3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    1: Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix>
3850    2990602048  PRINTFN 11/2/2017 4:26:17 PM    Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site

当我继续添加 export PYTHONHOME=/usr/bin/python,并执行 printenv 命令,但没有显示PYTHONHOME路径。

我继续使用SSH通过PuTTy访问服务器,执行命令完美地工作。然而,当运行 python --version 命令,它显示我的版本是2.7.5,而不是BODS中显示的版本。我试着添加PYTHONHOME路径,但在BODS中没有任何帮助(相反,我无法在SSH会话中运行python命令,当然,我去了 unset 它和SSH会话现在正常工作)

我可以寻求一些帮助吗?THANKS!

python sh exec ksh sap-data-services
1个回答
1
投票

解决了这个问题。

当从BODS执行时,使用了不同的用户(而不是SSH使用的root)。在执行python之前,必须设置 "export LD_LIBRARY_PATH=usrlocallib",然后就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.