• python2 paramiko 各种报错解决方案


    一、介绍

    paramiko是一个基于SSHv2协议的python库,支持以加密和认证的方式进行远程服务器的连接,用于实现远程文件的上传、下载或通过ssh远程执行命令。

    paramiko支持Python(2.7,3.4+)版本

    paramiko库可直接使用pip install paramiko安装,依赖的其他库six、pycparser、cffi、pynacl、bcrypt、enum34、ipaddress、cryptography也会被自动安装

    二、各类报错及解决办法(python版本为2.7.18)

    1、 No handlers could be found for logger "paramiko.transport"

    这个报错的意思是paramiko.transport的日志没地方输出

    解决办法:直接在代码里添加一行 paramiko.util.log_to_file("log.log") 即可,表示报错输出到日志文件log.log里

    2、 /usr/local/lib/python2.7/site-packages/paramiko/transport.py:33 : CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release. from cryptography.hazmat.backends import default_backend

    这个报错是因为python2版本过旧,cryptography不再对其支持

    解决办法:

    1)换成python3

    2)修改cryptography下的__init__.py源码绕过这个提醒,把if sys.version_info[0] == 2改成if sys.version_info[0] == 1(只要是非2即可),或者把下图34行-41行全部注释掉

    注:cryptography库源码位置可使用pip show cryptography命令查看

    3、  raise AttributeError(name) from None
             AttributeError: Raw

    这个报错是Cryptography和paramiko版本不兼容导致,需要更高版本的Cryptography

    最后不报错的版本为:cryptography==3.3.2     paramiko==2.12.0

  • 相关阅读:
    thymeleaf中的日期格式转化
    结构体的优先级重载
    CNN特征可视化相关论文
    微信支付(微信浏览器支付WeixinJSBridge.invoke)
    在Gradio实现分栏、分页的效果(二)
    网络工程师知识点6
    邮箱格式检测易语言代码
    Flutter页面状态保留策略
    通过模糊测试寻找车载蓝牙的安全漏洞
    Git 命令记录
  • 原文地址:https://blog.csdn.net/weixin_40547071/article/details/133178450