Fabric的cd上下文管理器不起作用

36 投票
1 回答
11020 浏览
提问于 2025-04-16 15:20

我在新电脑上设置了开发环境,结果发现Fabric出现了奇怪的错误。它的'cd'上下文管理器似乎没有改变当前目录,所以很多命令都无法正常工作。我写了一个测试,结果显示的和我预期的不一样:

from __future__ import with_statement
from fabric.api import local, run, cd

def xxx():
    with cd("src"):
        local("pwd")

这是运行fab xxx后的结果:

[localhost] local: pwd
/home/pioneer/workspace/myproject

不过,我觉得应该是/home/pioneer/workspace/myproject/src,而不是/home/pioneer/workspace/myproject

1 个回答

63

你需要的是 lcd(这里的 l 代表本地),而不是 cd(这个是用来远程操作的)。

撰写回答