當我在自己的Python腳本中用作庫時,無法使用結構。我做了一個非常簡單的例子fabfile.py
來證明我的問題:用作庫不起作用的織物
#!/usr/bin/env python
from fabric.api import *
print("Hello")
def test():
with settings(host_string='myIp', user="myUser", password="myPassword"):
run("hostname")
if __name__ == '__main__':
test()
運行fab
的作品就像一個魅力:
$ fab test
Hello
[myIp] run: hostname
[myIp] out: ThisHost
[myIp] out:
Done.
Disconnecting from [email protected] done.
好了,現在,運行python腳本無晶圓廠似乎打破地方:
$ python fabfile.py
Hello
[myIp] run: hostname
它立即返回,所以它甚至不等待響應。也許有錯誤,但我不知道如何輸出這些錯誤。
我在我的流浪虛擬機中運行這個腳本。由於fab
執行沒有任何錯誤,我猜這應該不成問題!
UPDATE
腳本似乎已崩潰,因爲它沒有第一run
後執行的任何東西。另一方面local
作品!
我們在同事的筆記本電腦上執行腳本,它運行時沒有任何問題。我在Ubuntu 10.04上使用Python 2.6.5和Fabric 1.5.1,所以我猜這有些問題!有什麼方法可以正確調試嗎?
謝謝你的工作!我不認爲需要做很多工作。如上所述,我的腳本在同事的筆記本電腦上運行得很好(他使用Windows7和Python 2.7)。 – Sgoettschkes
文檔中還有關於如何將庫作爲庫使用的章節:http://docs.fabfile.org/en/1.5/usage/library.html – Morgan