2014-04-23 135 views
1

帮我理解这段代码的问题。正如你所看到的,它只有两行代码。运行最简单的烧瓶应用程序时出错

from flask import Flask 

app = Flask(__name__) 

返回TypeError。

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) 

对不起,很长的错误代码。 任何想法为什么会发生?

回答

2

您需要先将代码保存在文件中,然后从命令行运行它。只需在交互式提示符下键入它将不起作用。

这里是一个最小瓶的应用是什么样子:

from flask import Flask 

app = Flask(__name__) 

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

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

这段代码保存到一个文件(例如,server.py),然后用python server.py运行它。

+1

它有帮助,但编写应用程序不是很方便。至于我。谢谢。 – zds

+0

应该将此报告为错误吗?这对于“hello world”来说是一个非常神秘的错误信息。 – endolith