20

第一次尝试安装 Tornado(在 EC2 Linux 实例上)。我做了

pip install tornado

然后尝试运行 hello world 示例:http ://www.tornadoweb.org/en/stable/#hello-world

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(80)
    tornado.ioloop.IOLoop.instance().start()

然后我尝试:

python hello.py

但得到:

回溯(最后一次调用):文件“testing/tornado.py”,第 1 行,
导入 tornado.ioloop 文件“/opt/pdf_engine/testing/tornado.py”,第 1 行,
导入 tornado.ioloop ImportError:否名为 ioloop 的模块

4

2 回答 2

49

不要命名你的文件tornado.py;它会影响实际的 Tornado 导入。将其命名为您在示例中使用的名称,例如hello.py

现在,您import tornado.ioloop正在尝试ioloop从您自己的文件中导入该成员,因为它已命名tornado并且位于具有最高导入优先级的当前目录中。

于 2013-06-26T14:59:25.027 回答
2

如果您将文件命名为 tornado.py 并将其重命名为另一个名称,请不要忘记删除目录中的 tornado.pyc。

于 2017-09-19T03:56:56.120 回答