【エラー対処法】ModuleNotFoundError: No module named ‘flask’を解決。Flask(Python)+Poetry。

Poetry入門

Flask+Poetryを使っているのですが、

ローカルサーバーでFlaskを立ち上げようとしたところ、

ModuleNotFoundError: No module named 'flask'

上記のエラーの解決方法一向に分からず、永遠悩んだので、

対処法を書いておきます。

ModuleNotFoundError: No module named ‘flask’のエラー

結論から言うと、めちゃくちゃ初歩的なミスでした。

こんなことに数日間費やしたと思うと、

とてもアホらしいです。

ただ、僕みたいな初心者の方がぶち当たるかもしれませんので、

備忘録的に書いておきます。

まずエラーメッセージはこんな感じ。

poetry run python __init__.py
Traceback (most recent call last):
  File "__init__.py", line 1, in <module>
    from flask import Flask, request, url_for, render_template
ModuleNotFoundError: No module named 'flask'

では、さっそく解決していきましょう。

まずはこちらが、僕の使っているフォルダです。

フォルダ .venv

Herokuでデプロイしたときのファイルも含まれています。

.venvの削除。

このフォルダの.venvを削除します。

フォルダ .venv

赤丸のフォルダを削除しましょう。

MEMO
通常の表示だと見えないので、Macをお使いの場合は、command + shift + 「.」を押すと、表示されるようになります。(消したいときは、また同じコマンドを押してください)

poetryのインストール。

続いて、poetryをインストールしなおします。

poetry install

すると以下のようなメッセージがでてきました。

The currently activated Python version 2.7.16 is not supported by the project (^3.7).
Trying to find and use a compatible version.
Using python3 (3.8.0)
Creating virtualenv heroku in /Users/shoichisaitou/Desktop/heroku2/.venv
Installing dependencies from lock file


Package operations: 16 installs, 0 updates, 0 removals

  - Installing markupsafe (1.1.1)
  - Installing pyparsing (2.4.7)
  - Installing six (1.14.0)
  - Installing attrs (19.3.0)
  - Installing click (7.1.2)
  - Installing itsdangerous (1.1.0)
  - Installing jinja2 (2.11.2)
  - Installing more-itertools (8.2.0)
  - Installing packaging (20.3)
  - Installing pluggy (0.13.1)
  - Installing py (1.8.1)
  - Installing wcwidth (0.1.9)
  - Installing werkzeug (1.0.1)
  - Installing flask (1.1.2)
  - Installing gunicorn (20.0.4)
  - Installing pytest (5.4.2)

これで再インストール完了。

念のため、Flaskを確認したい場合は、こちら。

ls -la .venv/bin/flask

コマンドを打つと最後に日付と、Flaskが入ってることが確認できました。

5 28 21:14 .venv/bin/flask

再トライ。

僕の場合は、ファイル名が__init__.pyです。

poetry runをします。

poetry run python __init__.py

結果や如何に・・・

* Serving Flask app "__init__" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

はい、無事に起動ができました!(パチパチ、パチパチ)

まとめ。

とにかく、.venvを一度潰してやり直しましょう!

さすれば、道は開ける!(場合もあります!)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA