在不使用命令行工具的情况下使用 Python Fabric (fab)
尽管 Fabric 文档提到了一种使用该库进行 SSH 访问而不需要 fab 命令行工具和/或任务的方法,但我似乎无法管理一种方法来做到这一点。
我想通过仅执行“python example.py”来运行此文件(example.py):
env.hosts = [ "example.com" ]
def ps():
run("ps")
ps()
谢谢。
Altough Fabric documentations refers to a way of using the library for SSH access without requiring the fab command-line tool and/or tasks, I can't seem to manage a way to do it.
I want to run this file (example.py) by only executing 'python example.py':
env.hosts = [ "example.com" ]
def ps():
run("ps")
ps()
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我最终这样做了:
产生:
I ended up doing this:
Which produces:
更多信息:http://docs.fabfile.org/en/latest/usage/库.html
More information: http://docs.fabfile.org/en/latest/usage/library.html
以下是三种不同的方法,均使用
execute
方法。要使用密钥文件,您需要设置
env.key
或env.key_filename
,如下:您还可以提供多个密钥文件,并且将使用您登录到该主机的任何一个
Here are three different approaches all using the
execute
methodFor using keyfiles, you'll need to set either
env.key
orenv.key_filename
, as so:You can also supply multiple keyfiles and whichever one logs you into that host will be used
找到了我的修复方法。我需要提供自己的 *env.host_string* 因为更改 env.user/env.keyfile/etc 不会自动更新此字段。
Found my fix. I needed to provided my own *env.host_string* because changing env.user/env.keyfile/etc doesn't automatically updates this field.
这是需要做的:
在 example.py 中,
请参阅使用 Fabric 作为库的文档:
http://docs.fabfile.org/en/1.8/usage /env.html#host-string
This is what needs to be done:
in example.py
see docs for using fabric as a library:
http://docs.fabfile.org/en/1.8/usage/env.html#host-string