SocketServer 没有模块正在导入

Posted

技术标签:

【中文标题】SocketServer 没有模块正在导入【英文标题】:SocketServer no modules are getting import 【发布时间】:2013-08-20 12:26:03 【问题描述】:

我想在我的 Mac 上创建一个 SocketServer。

但是,包裹似乎有些问题。当我尝试找到here 的这个采样代码时,它会引发属性错误。

import SocketServer

class MyTCPHandler(SocketServer.BaseRequestHandler):
    """
    The RequestHandler class for our server.

    It is instantiated once per connection to the server, and must
    override the handle() method to implement communication to the
    client.
    """

    def handle(self):
        # self.request is the TCP socket connected to the client
        self.data = self.request.recv(1024).strip()
        print " wrote:".format(self.client_address[0])
        print self.data
        # just send back the same data, but upper-cased
        self.request.sendall(self.data.upper())

if __name__ == "__main__":
    HOST, PORT = "localhost", 9999

    # Create the server, binding to localhost on port 9999
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)

    # Activate the server; this will keep running until you
    # interrupt the program with Ctrl-C
    server.serve_forever()

错误:

Traceback (most recent call last):
  File "/Users/ddl449/Projects/visualization/SocketServer.py", line 1, in <module>
    import SocketServer
  File "/Users/ddl449/Projects/visualization/SocketServer.py", line 3, in <module>
    class MyTCPHandler(SocketServer.BaseRequestHandler):
AttributeError: 'module' object has no attribute 'BaseRequestHandler'

我不知道这是否与我在 Mac 上运行有关。我的python版本是:

2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]

【问题讨论】:

为什么不复制整个回溯 看,当您提供完整的追溯时,人们可以立即为您提供帮助 @AnttiHaapala 感谢您的提示 :) 【参考方案1】:

似乎您在 python 路径中的某处有 SocketServer.py

使用以下命令检查:

python -c "import SocketServer; print(SocketServer.__file__)"

重命名该文件将解决您的问题。


更新

重命名文件 /Users/ddl449/Projects/visualization/SocketServer.py 。如果有/Users/ddl449/Projects/visualization/SocketServer.pyc,删除那个文件。

【讨论】:

可能主文件是SocketServer.py 谢谢你们。这是文件名。 由于某种原因,我的主文件夹中有一个文件SocketServer.pyc。我不知道它来自哪里。 ty

以上是关于SocketServer 没有模块正在导入的主要内容,如果未能解决你的问题,请参考以下文章

文件传输, socketserver模块

socket 和 SocketServer 模块

python学习_day41_socketserver模块

socketserver模块

socketserver内置模块

socketserver 模块实现ftp功能