1

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

甚至当我尝试使用织物更改 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")

有谁知道为什么?

4

1 回答 1

0

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

with shell_env(LD_LIBRARY_PATH ="/usr/local/lib"):
    run('something')
于 2013-06-26T03:56:48.967 回答