导入socket时出错?

0 投票
1 回答
9448 浏览
提问于 2025-04-18 18:23

我最近安装了Python、IPython和pip,使用pip安装了socket库和很多其他库。现在我在命令行运行Python程序时,无法导入socket,但在使用IPython时却可以。

当我运行IPython并导入socket时,一切都正常。

现在我写了一个简单的脚本,叫做“tcp.py”,里面只有一行代码:

Import Socket

Traceback (most recent call last):
 File "C:\dir\desktop\tcp.py", line 1, in <module>
  import socket
 File "C:\dir\desktop\socket.py", line 1, in <module>
  socket
NameError: name 'socket' is not defined

有没有什么办法解决这个问题?

1 个回答

5

你犯了两个错误:第一个是你自己创建了一个叫“socket.py”的文件。这会覆盖掉标准库中的模块,所以当你用 import socket 时,它找到的是你自己的文件,而不是标准库里的模块。第二个错误是你的“socket.py”文件里有个单词 socket。这实际上就是导致你出错的原因:这个单词 socket 是未定义的。

删除你的“socket.py”文件,以及任何多余的 *.pyc 文件,这样问题就解决了。

如果你仔细查看错误报告(回溯),你会明白发生了什么。

撰写回答