【问题标题】:Cannot import Tornado submodules无法导入 Tornado 子模块
【发布时间】:2013-06-23 19:10:05
【问题描述】:

第一次尝试安装 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

但得到:

Traceback(最近一次调用最后一次):文件“testing/tornado.py”,第 1 行,在
导入 tornado.ioloop 文件“/opt/pdf_engine/testing/tornado.py”,第 1 行,在
import tornado.ioloop ImportError: No module named ioloop

【问题讨论】:

    标签: python tornado


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 如何停止服务器。我还尝试了 hello world 示例。但我不知道如何阻止它
      • 尝试Ctrl+C 阻止它。
      • 而且很有可能你必须删除生成的 tornado.pyc
      • +1 在某些答案上,我真的希望我能申请的不仅仅是一个赞成票!
      • 它的假解决方案:(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 2023-03-07
      • 1970-01-01
      • 2012-11-06
      • 2018-11-25
      相关资源
      最近更新 更多