2011-04-08 65 views
32

我在一臺新PC上設置了我的開發環境,似乎我在Fabric上出現了奇怪的錯誤。它的'cd'上下文管理器似乎不會改變當前目錄,因此我的很多命令都不起作用。我已經寫了測試,它給我的結果我沒有預料得到: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應該有/home/pioneer/workspace/myproject/src,我想。

回答

56

您正在尋找lcdl爲本地)而不是cd(這是遠程)。

+0

嗯......真的,那是我的錯,我忽略了這一點。但是,奇怪的是它與「cd」一起工作,直到我搬到新的PC。 – 2011-04-08 13:24:43

+1

我發現了這個問題 - 這是因爲我以前的Fabric 0.9和當前的1.x之間不兼容 – 2011-04-14 09:23:13