没有模块名为ServerSocket。

49

我正在尝试遵循Python文档中的示例20.17.4.1 SocketServer.TCPServer,但是我得到了一个错误:

ImportError: No module named 'ServerSocket'

我正在使用Python的新版本,并使用IDLE编辑和执行脚本。需要帮助解决这个错误。


我也尝试过使用import SocketServer而不是ServerSocket。没有运气 :( @bamboon - Romaan
4
你正在使用Python 2还是Python 3?在Python 3中,它已被重命名为socketserver - Stephan Dollberg
我正在使用Python 3,在Windows 7上运行。socketserver正常工作。所有字母都是小写。谢谢 @bamboon - Romaan
@bamboon,你应该把它发布为答案 :) - iabdalkader
此外,Romaan,请尽量避免阅读与软件不同主要版本号的文档。在python2.5和python2.6之间没有太多区别,但在python2.x和python3.x之间有许多变化,其中很多都不向后兼容。对于任何软件来说都是如此。主要版本更改通常涉及向后不兼容的更改。 - Bakuriu
5个回答

120

Python2 中正确的名称为 SocketServer,Python3 中为 socketserver


而 socketserver 是 Python 3 中的标准库模块,因此您无需安装它。 - Omid Estaji

12
如果你正在使用Python 3,该库可用作socketserver(全部小写)。

4
在我的代码中,我已经尝试导入SocketServer和socketserver,但都无法正常工作。
try:
    import SocketServer as socketserver
    from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
except ImportError:
    import socketserver
    from http.server import HTTPServer, BaseHTTPRequestHandler

然而,我执行了这个命令之后它就对我起作用了。

$pip install Werkzeug --upgrade 

3

我遇到了相同的问题,通过卸载并重新安装Flask和Werkzeug来解决。

1)pip 卸载 Flask 2)pip 卸载 Werkzeug

3)pip 安装 Flask 4)pip 安装 Werkzeug


-1
  1. pip uninstall Flask 2) pip uninstall Werkzeug

  2. pip install Flask 4) pip install Werkzeug

对我没用。每次都要重新安装odoo 13。不过我注意到,只有当我在pycharm中将odoo/addons添加为源映射时才会出现这种情况。

编辑:我终于找到了问题所在!如果您正在使用pycharm,并且已将odoo/addons添加到Content Root中,请尝试从Content Root中删除它并重新运行服务器。希望能帮助到某些人。


1
这并没有真正回答问题。如果您有不同的问题,可以通过点击提问来提出。如果您想在此问题获得新的答案时得到通知,您可以关注此问题。一旦您拥有足够的声望,您还可以添加悬赏以吸引更多关注。- 来自审核 - rv.kvetch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接