运行最简单的flask应用时出错

1 投票
1 回答
1196 浏览
提问于 2025-04-18 04:00

帮我理解一下这段代码有什么问题。你看,这只有两行代码。

from flask import Flask

app = Flask(__name__)

这段代码返回了一个类型错误。

C:\Users\Natali\AppData\Local\Enthought\Canopy32\User\lib\site-packages\flask\app.pyc in auto_find_instance_path(self)
    620         .. versionadded:: 0.8
    621         """
--> 622         prefix, package_path = find_package(self.import_name)
    623         if prefix is None:
    624             return os.path.join(package_path, 'instance')

C:\Users\Natali\AppData\Local\Enthought\Canopy32\User\lib\site-packages\flask\helpers.pyc in find_package(import_name)
    659     """
    660     root_mod_name = import_name.split('.')[0]
--> 661     loader = pkgutil.get_loader(root_mod_name)
    662     if loader is None or import_name == '__main__':
    663         # import name is not found, or interactive/main module

C:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.3.0.1715.win-x86\lib\pkgutil.pyc in get_loader(module_or_name)
    462     else:
    463         fullname = module_or_name
--> 464     return find_loader(fullname)
    465 
    466 def find_loader(fullname):

C:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.3.0.1715.win-x86\lib\pkgutil.pyc in find_loader(fullname)
    473     """
    474     for importer in iter_importers(fullname):
--> 475         loader = importer.find_module(fullname)
    476         if loader is not None:
    477             return loader

TypeError: find_module() takes exactly 3 arguments (2 given)

抱歉,错误信息有点长。你有什么想法为什么会这样吗?

1 个回答

2

你需要先把代码保存到一个文件里,然后再从命令行运行它。直接在交互式提示符下输入是没用的。

下面是一个最简单的Flask应用的样子:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
   return 'Hello World'

if __name__ == '__main__':
    app.run()

把这段代码保存到一个文件中(比如叫做 server.py),然后用 python server.py 来运行它。

撰写回答