Flaskでサイトを運用しています。
オーガニック検索だよりのサイトですので、Xでもサイトの告知をしてみようかとなったわけで、半自動ぐらいでXにポストできる機能をつけようとしたときの話です。
Flask外で直接実行する分にはエラーはなく、あとはimportして特定のルートでポストさせるだけだったのです。
VS Code上では問題なしなのに
ModuleNotFoundError: No module named 〜
エラーです。
VS Code上では問題ないように表示されていて、追加したimportにも波線の下線が付いたりしない。
エディタはエラーを出してくれませんが、Flaskがエラーを出します。
いつものように、flask --app api.index run --debugするとエラーになります。
おかしい。
とりあえずimportができていないようです。
Flaskを介せず直接に実行する場合にはエラーはなく、問題なくimportできていました。
このエラーの対処
from api import hoge
でok。
直接の実行時と階層は同じでimportを書くファイルが変わるだけだったので、import hogeのままでよいと思ってしまいましたが、Flask内ではモジュールディレクトリapiの中なので、from apiが必要でした。
あわせエラー?
import hogeができていないので、あわせて以下のエラーも出してしまいましたが、
AttributeError: 'function' object has no attribute 〜
importを正しくすればokになります。
初歩的なミスをなくさないと〜!