Python 无法识别主机:结构

Python 无法识别主机:结构,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_

我试图通过简单的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_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芹菜,否则您将自己绑定到一个单线程、每个进程一个请求的部署设置。非常感谢您提供这样的见解。将在开发时牢记这一点。