AttributeError: модуль 'socket' не имеет атрибута 'AF_INET' - PullRequest
0 голосов
/ 15 октября 2018

код работал нормально, теперь он показывает ошибку

AttributeError: модуль 'socket' не имеет атрибута 'AF_INET'

Код, приведенный ниже: Имя модуля не является socket.py

import socket
client= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host='192.168.xx.x'
port=4196
client.connect((host, port))
print("connected to IP", host,"and port", port) 

Ошибка:

`Traceback (most recent call last):
File "C:\Users\User\eclipse-workspace\New\soc.py", line 1, in <module>
   import socket
File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 2, in <module>
    client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
AttributeError: module 'socket' has no attribute 'AF_INET'

`

Ответы [ 3 ]

0 голосов
/ 15 октября 2018

Вероятно, в вашем каталоге проекта есть модуль с именем socket.py, и в этом случае он будет иметь приоритет над стандартным модулем, когда вы делаете import socket.Переименуйте socket.py в каталоге вашего проекта на что-то другое, и ваш код будет работать.

0 голосов
/ 15 октября 2018

С помощью трассировки стека теперь ясно, что вы перезаписали socket.py в стандартной библиотеке своим собственным кодом, поскольку ошибка возникает в пути к библиотеке C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\socket.py и код, вызывающий ошибку, явно принадлежит вам.

Вы должны переустановить Python на этом этапе.Или, если вы уверены, что это единственный файл, который поврежден, вы можете попробовать заменить socket.py на тот, который находится в системе контроля версий здесь .

0 голосов
/ 15 октября 2018

Вместо

client= socket.socket(socket.AF_INET, socket.SOCK_STREAM)

до

client= socket(socket.AF_INET, socket.SOCK_STREAM)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...