代码之家  ›  专栏  ›  技术社区  ›  Ajax1234

Python结构模块的套接字节点名错误

  •  -3
  • Ajax1234  · 技术社区  · 6 年前

    我正在尝试运行一个简单的命令( ls )使用 fabric 模块中的示例 fabric documentation . 然而,当我试图呼叫 run 方法 Connection 对象,我收到了

    socket.gai错误:[Errno 8]提供了nodename或servname,或者未知

    import fabric 
    c = fabric.Connection('host')
    c.run('ls')
    

    我利用了 socket 前面的模块,运行时通常会出现上述错误 socket.gethostbyname(socket.gethostname()) socket.gethostbyname(socket.gethostname())

    如何成功使用 织物 在shell中运行命令?作为 使用SSH,在使用前是否需要SSH配置 织物


    我在跑步 织物 在macOS Sierra 10.12.5和Python 3.7.0上

    1 回复  |  直到 6 年前
        1
  •  1
  •   Laurent LAPORTE    6 年前

    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 .