尝试首次安装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的模块
答案 0 :(得分:44)
不要将文件命名为tornado.py
;它会影响实际的Tornado导入。将其命名为您在示例中使用的内容,例如hello.py
现在,您的import tornado.ioloop
正在尝试从您自己的文件中导入成员ioloop
,因为它的名称为tornado
,并且在当前目录中具有最高的导入优先级。
答案 1 :(得分:2)
如果您将文件命名为tornado.py并将其重命名为其他名称,请不要忘记删除目录中的tornado.pyc。