所以我在三个地方安装了python:Windows机器、Pi(运行Kali)和Mac。当导入套接字库或依赖于套接字库的库(即ipwhois)时,只有我的Mac才会出现此错误。我在sudo中运行了它,我尝试了python2和python3,但仍然没有成功。我得到的是:
Python 2.7.14 (default, Oct 1 2017, 15:09:23)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>import socket
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "socket.py", line 15, in <module>
serverSocket = socket(AF_INET, SOCK_STREAM)
NameError: name 'AF_INET' is not defined
>>> import ipwhois
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/user/homebrew/lib/python2.7/site-packages/ipwhois/__init__.py", line 26, in <module>
from .net import Net
File "/Users/user/homebrew/lib/python2.7/site-packages/ipwhois/net.py", line 26, in <module>
import socket
File "socket.py", line 15, in <module>
serverSocket = socket(AF_INET, SOCK_STREAM)
NameError: name 'AF_INET' is not defined
同样,我的Windows或Linux机器上的这些库都没有问题。我真的不知道该怎么办。感谢任何帮助。在
AF_INET
是在socket
中定义的,因此请尝试以下方法:如果您想知道它包含在
^{pr2}$socket
中的内容,请尝试以下方法:根据您的注释,错误发生在一个特定的目录中。
socket
模块试图导入其他一些模块,特别是_socket
。如果当前目录中有一个同名的文件,肯定会发生不好的事情。一般规则是,用户模块不应以_
开头,也不应重复使用标准库中模块的名称。在相关问题 更多 >
编程相关推荐