无法导入Tornado子模块

时间:2013-06-26 14:55:57

标签: python tornado

尝试首次安装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行,在中       import tornado.ioloop文件“/opt/pdf_engine/testing/tornado.py”,第1行,中
      import tornado.ioloop ImportError:没有名为ioloop的模块

2 个答案:

答案 0 :(得分:44)

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

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

答案 1 :(得分:2)

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