Python 无法识别主机:结构
我试图通过简单的python模块使用fabric模块 remoteExc.pyPython 无法识别主机:结构,python,fabric,Python,Fabric,我试图通过简单的python模块使用fabric模块 remoteExc.py from fabric.api import * def clone_repo(IPADDRESS,USER,fPath,git_url): env.hosts_string = IPADDRESS env.user = USER env.key_filename = fPath env.disable_known_hosts = 'True' run('git clone %s' % (git_
from fabric.api import *
def clone_repo(IPADDRESS,USER,fPath,git_url):
env.hosts_string = IPADDRESS
env.user = USER
env.key_filename = fPath
env.disable_known_hosts = 'True'
run('git clone %s' % (git_url))
from remoteExc import clone_repo
clone_repo(ipAddress,user,fPath,git_url)
mainFile.py
from fabric.api import *
def clone_repo(IPADDRESS,USER,fPath,git_url):
env.hosts_string = IPADDRESS
env.user = USER
env.key_filename = fPath
env.disable_known_hosts = 'True'
run('git clone %s' % (git_url))
from remoteExc import clone_repo
clone_repo(ipAddress,user,fPath,git_url)
当我执行它时,它说
python mainfile.py
找不到主机。请为连接指定(单个)主机字符串:
请告诉我哪里出错了
env.host\u string=IPADDRESS
-您得到的是一个env.hosts\u string
另外,通常您通过fab
运行fabric,除非您试图做一些相当非标准的事情,否则请注意,通过python
运行fabric可能不是您想要做的事情。请参阅Fabric文档,以获得非常好的介绍
谢谢,伙计,这是一个打字错误,我的要求是从web界面执行fabric命令。@naga4ce,好的,给你一个警告。事实上,我曾以这种方式将fabric用作一个库,最终它面向命令行的本质总是会成为一个问题-最大的原因是
env
是全局的,它从来都不应该处理多个正在进行的任务,而web应用通常会这样做(阅读:多线程)。尽管如此,这种布料非常方便。我想我会建议在web应用程序进程之外运行任何与fabric对话的代码,a-la芹菜,否则您将自己绑定到一个单线程、每个进程一个请求的部署设置。非常感谢您提供这样的见解。将在开发时牢记这一点。