首页 > 解决方案 > SqlAlchemy / PyMySQL:AttributeError:模块'socket'在Windows上没有属性'AF_UNIX'

问题描述

所以我想我知道这个错误来自哪里。我在用着

query_string = dict({"unix_socket": "/cloudsql/{}".format(connection_name)})

作为我的连接字符串,按照我遵循的教程。但是,在我的搜索中,我发现 Python 不支持 Unix 套接字。我需要更改 query_string 或套接字类型吗?如果是这样,对什么?非常感谢你的帮助!

连接代码:

driver_name = 'mysql+pymysql'
query_string = dict({"unix_socket": "/cloudsql/{}".format(connection_name)})
db = sqlalchemy.create_engine(
        sqlalchemy.engine.url.URL.create(
            drivername=driver_name,
            username=db_user,
            password=db_password,
            database=db_name,
            query=query_string,
        ),
        pool_size=5,
        max_overflow=2,
        pool_timeout=30,
        pool_recycle=1800
    )
    results = None
    with db.connect() as conn:
        results = conn.execute(stmt)
        return resultToData(results)

错误被抛出AppData\Roaming\Python\Python38\site-packages\pymysql\connections.py, line 600.

sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
AttributeError: module 'socket' has no attribute 'AF_UNIX'

编辑:我也查看了官方文档,但也没有真正找到解决方案。

标签: pythonpython-3.xsqlalchemydriverpymysql

解决方案


推荐阅读