当我通过ssh登录远程服务器时,我看到LD_LIBRARY_PATH是:
echo $LD_LIBRARY_PATH
:/usr/local/lib
当我在python中使用fabric时,要在fabric run api中运行相同的代码,结果为空。
from fabric.api import *
def test():
run("echo $LD_LIBRARY_PATH")
甚至当我尝试使用fabric更改LD_LIBRARY_PATH时,它根本不起作用。
from fabric.api import *
def test():
run("echo $LD_LIBRARY_PATH")
run("export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH")
有谁知道为什么?
答案 0 :(得分:0)
我遇到了同样的问题,这是解决问题的方法。至少你需要使用fabric 1.5.4我认为使用shell_env。
with shell_env(LD_LIBRARY_PATH ="/usr/local/lib"):
run('something')