Модуль 'socket' не имеет атрибута 'AF_UNIX'
Я пытаюсь запустить старый (2018) проект Django на localhost.
Однако, когда я использую: 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
.