为什么在尝试使用sshtunnel连接到MYSQL DB时收到名为STRINGIO的无错误模块

问题描述 投票:0回答:1

我正在尝试通过SSH隧道连接到我的MYSQL数据库;但是我一直收到错误-名为stringIO的模块。

这是我的代码:

import pymysql
import paramiko
import pandas as pd
import numpy as np
from paramiko import SSHClient
from sshtunnel import SSHTunnelForwarder
from os.path import expanduser
import paramiko
import StringIO    

    import pymysql
    import paramiko
    import pandas as pd
    import numpy as np
    from paramiko import SSHClient
    from sshtunnel import SSHTunnelForwarder
    from os.path import expanduser
    import paramiko
    import StringIO


    my_key = """
    -----BEGIN RSA PRIVATE KEY-----
    content
    -----END RSA PRIVATE KEY-----

    """

    pkey = paramiko.RSAKey.from_private_key(StringIO.StringIO(my_key))
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname='my_ip_address', username='my_username', pkey=pkey)

    ssh.close()

我确实尝试了一切,如果有人对我为什么收到此错误有任何建议或想法,将不胜感激。

python ssh airflow ssh-tunnel
1个回答
0
投票

在Python3中,StringIO类已移入io模块。因此,尝试:

import io

io.StringIO(my_key)

请参见https://docs.python.org/3/library/io.html#io.StringIO

© www.soinside.com 2019 - 2024. All rights reserved.