簡體   English   中英

如何修復此ImportError(阻止我的代碼執行)?

[英]How do I fix this ImportError that is preventing my code from executing?

根據Flask在線教程的說明構建了一個小型應用程序之后,我不斷收到此ImportError:

eloiim:~ iivri.andre$ export FLASK_APP=Minimalapp.py
eloiim:~ iivri.andre$ flask run 
Traceback (most recent call last):
  File "/usr/local/bin/flask", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 478,in main
    cli.main(args=args, prog_name=name)
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 345, in main
    return AppGroup.main(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
   File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 388, in run_command
    app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 124, in __init__
    self._load_unlocked()
    File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 148, in _load_unlocked
    self._app = rv = self.loader()
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 209, in load_app
    rv = locate_app(self.app_import_path)
  File "/usr/local/lib/python2.7/site-packages/flask/cli.py", line 89, in locate_app
    __import__(module)
 ImportError: No module named Minimalapp.py

這是我的代碼:

from flask import Flask 
app = Flask(__name__)

@app.route('/') 
def IsSelf() :
    return 'Hello 這是自'

這里也是我的ls -R輸出

eloiim:learnFlasC iivri.andre$ ls
Hello.py        Minimalapp.py
Http.py         resource_locator.py

我不確定自己做錯了什么。 有什么問題,我該如何解決?

使用FLask CLI

在命令行中,導航到包含項目的文件夾並運行:

export FLASK_APP=hello.py
flask run

注意,您需要“ .py”。 應用程序運行腳本的名稱應為其中包含代碼的腳本。 在本教程中為hello.py,但您可能將其稱為MinimalApp.py或類似名稱。 您將需要擁有0.11或更高版本的Flask新版本,因為此cli是一項新功能。

使用app.run()代替新的Flask cli

首先,清除文件夾中的所有內容或啟動一個新文件夾。 接下來,請確保您可以運行

import flask

在Python REPL中沒有任何錯誤(在終端中輸入“ python”以訪問REPL)。 創建一個名為run.py的文件,並將以下內容粘貼到其中:

from flask import Flask
app = Flask(__name__)

@app.route('/') 
def IsSelf() :
    return 'Hello 這是自'

app.run()

保存。 在您的終端中,導航到包含該文件的文件夾並運行

python run.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM