我尝试使用SAP脚本中的ksh执行python命令,以便在BODS服务器中运行一个名为"zzz.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 it和SSH会话)
我可以在这方面寻求帮助吗?谢谢!
发布于 2017-11-09 04:52:18
设法解决了这个问题:
当从BODS执行时,将使用不同的用户(与用于SSH的root相反)。必须在执行python之前设置"export _LIBRARY_PATH=/usr/local/lib“,它才能工作。
https://stackoverflow.com/questions/47070761
复制相似问题