Python Fabric 模块的套接字节点名错误
Socket nodename error with Python Fabric module
我正在按照 fabric documentation 中的示例尝试使用 fabric
模块 运行 一个简单的命令 (ls
)。但是,当我尝试在 Connection
对象上调用 run
方法时,我收到
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
import fabric
c = fabric.Connection('host')
c.run('ls')
我以前用过socket
模块,上面的错误一般是在运行宁socket.gethostbyname(socket.gethostname())
给机器绑定socket的时候出现的。但是,socket.gethostbyname(socket.gethostname())
运行 对我来说没有错误。
如何在 shell 中成功使用 fabric
到 运行 命令?由于 fabric
使用 SSH,在使用 fabric
之前是否需要任何 SSH 配置?
我 运行宁 fabric
在 Python 3.7.0
macOS Sierra 10.12.5
在Connection
构造函数中,需要给出真实主机名
例如:
import fabric
c = fabric.Connection('localhost')
c.run('ls')
如果未配置 SSH 协议,您会收到另一条错误消息。例如:
paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 127.0.0.1, ::1 or fe80::1%lo0
经常,服务器名不够用,需要加上域名,比如myserver.mydomain.com
.
我正在按照 fabric documentation 中的示例尝试使用 fabric
模块 运行 一个简单的命令 (ls
)。但是,当我尝试在 Connection
对象上调用 run
方法时,我收到
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
import fabric
c = fabric.Connection('host')
c.run('ls')
我以前用过socket
模块,上面的错误一般是在运行宁socket.gethostbyname(socket.gethostname())
给机器绑定socket的时候出现的。但是,socket.gethostbyname(socket.gethostname())
运行 对我来说没有错误。
如何在 shell 中成功使用 fabric
到 运行 命令?由于 fabric
使用 SSH,在使用 fabric
之前是否需要任何 SSH 配置?
我 运行宁 fabric
在 Python 3.7.0
在Connection
构造函数中,需要给出真实主机名
例如:
import fabric
c = fabric.Connection('localhost')
c.run('ls')
如果未配置 SSH 协议,您会收到另一条错误消息。例如:
paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 127.0.0.1, ::1 or fe80::1%lo0
经常,服务器名不够用,需要加上域名,比如myserver.mydomain.com
.