1. ホーム
  2. スクリプト・コラム
  3. パイソン

[解決済み】Flask ImportError: Flask という名前のモジュールがない

2022-01-12 18:43:49

質問

以下のブログを参考にpythonのプログラムを書きました。

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

./run.pyを実行すると、エラーが発生します。

Traceback (most recent call last):
  File "./run.py", line 3, in <module>
    from app import app
  File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

と似ていますね。

ImportError: flask という名前のモジュールがありません

しかし、それらの解決策は役に立ちません。

どのように解決するのか?

作成したvirtualenvを削除してみてください。その後、新しいvirtualenvを作成してください。

virtualenv flask

次に

cd flask

では、virtualenvを有効にしましょう

source bin/activate

これで (flask) をコマンドラインの左側に表示します。

<サブ 編集:Windowsでは、"source"がありませんが、これはLinuxのものです。PS C:\DEVaProject> & .\Flask\Scripts\activate )

flaskをインストールしましょう。

pip install flask

次に、次のような名前のファイルを作成します。 hello.py (注 UPDATE Flask 1.0.2 を含む)。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

で実行します。

python hello.py

UPDATE Flask 1.0.2

新しいflaskのリリースでは、スクリプトからアプリを実行する必要はありません。 hello.py は今このように表示されるはずです。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

で実行します。

FLASK_APP=hello.py flask run

のあるフォルダの中にいることを確認してください。 hello.py は、最新のコマンドを実行するときに表示されます。

hello.pyを作成する前のすべてのステップは、この場合にも適用されます。