2016-01-14 103 views
0

我一直在Linux系統上使用Fabric一段時間,我從來沒有任何問題。然而,現在我已經分支到Windows,我什麼都不能合作。Fabric可以在遠程Windows機器上運行shell命令嗎?

我已經在遠程Windows 8.1系統上安裝了openSSHd,我可以發送非shell命令,如run('ipconfig', shell=False)等,它們將按預期方式運行,但是如果我嘗試以下操作。

def runscripts_W(): 
 

 
\t env.user = 'tester' 
 
\t env.password = 'password' 
 
\t env.cwd = 'C:/fabric_upload' \t \t 
 
\t run('python runscripts.py')

我只是得到Unable to execute command or shell on remote system: Failed to Execute Process

我試過安裝MinGW和嘗試解決方法here,但我猜MSYS/MinGW的不能使用Python 3.5的工作,因爲即使經過使用python路徑編輯Msys fstab文件我將回到找不到python命令並且降級不是選項。

任何人都有Windows上的Fabric的經驗嗎?我知道這不是真的意味着Windows,但它似乎能夠連接和發送命令......我只需要讓機器啓動python腳本。那麼近,但迄今...

+0

那麼,你想在遠程Windows機器上運行一個python腳本? python是否可用?如果沒有,你可以在那裏安裝IronPython([IronPython](http://ironpython.codeplex.com/)) – mnille

+0

是的,python安裝在所有遠程機器上,但是IronPython會幫助調用一個普通的python腳本嗎?我認爲只是讓Python調用.NET對象等。 –

回答

0

嗯,我想我發揮了織物選項。我最終與Psexec一起在Windows機器上啓動了python腳本。雖然我能夠將它們包含在Fabric中用於啓動目的。我在通過Fabric本地命令啓動的bat文件中具有Psexec腳本。這並不理想,但它的工作原理是在我的fabfile文件夾下的目錄中增加了兩個額外文件的成本;我的bat文件和psexec.exe。

更加令人惱火的是,我可以通過Fabric保存Windows上的所有內容,以滿足我實際需要。

相關問題