模块 'socket' 没有属性 'AF_UNIX'

Module 'socket' has no attribute 'AF_UNIX'

我正在尝试 运行 本地主机上的旧 (2018) Django 项目。

然而,当我使用:python manage.py runserver 192.168.23.12:8000

我从 Python37\site-packages\pymysql\connections.py:

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

我正在使用 Window 机器,我也尝试将 AF_UNIX 更改为 AF_INET 得到:

AF_INET address must be tuple, not str

根据评论中的阐述:

错误源于 Django MySQL 机器试图使用 UNIX 域套接字连接到 MySQL,因为它已被告知通过 settings.py 文件的数据库这样做HOST.

但是,Windows 上没有 AF_UNIX 个套接字,所以这肯定会失败。

修复方法是使用 TCP 套接字连接到 MySQL;也就是说,将 MySQL HOST 更改为例如localhost 而不是套接字路径 /var/lib/mysql/mysql.sock.