使用fabric更改LD_LIBRARY_PATH

时间:2013-02-21 08:41:25

标签: python fabric

当我通过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")

有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这是解决问题的方法。至少你需要使用fabric 1.5.4我认为使用shell_env。

with shell_env(LD_LIBRARY_PATH ="/usr/local/lib"):
    run('something')