質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

2回答

1100閲覧

Flaskを使ったコードをターミナルで実行しようとするとModuleNotFoundError:のエラーがでる

harupi0306

総合スコア0

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/12/11 00:24

編集2021/12/11 08:28

前提・実現したいこと

プログラミングの勉強を始めたばかりの初心者です。
Flaskを使えるようになりたいと思い、
リンク内容
この方のチュートリアルで勉強しようとしました
すると、hello worldのrun.pyをターミナルで読み込む場所で下記エラーが発生します
※vscodeを使っています。ターミナルもvscode内蔵のやつです。

発生している問題・エラーメッセージ

ModuleNotFoundError: No module named 'app.app'

該当のソースコード

python

1<<app.py>> 2 3from flask import Flask 4 5app = Flask(__name__) 6@app.route("/") 7def index(): 8 return "Hello World" 9 10if __name__ == "__main__": 11 app.run(debug=True)

python

1<<run.py>> 2 3from app.app import app 4 5if __name__ == "__main__": 6 app.run()

試したこと

vscodeの設定をいじってみたり、.zprofileにPath入れたり(そのあとzsh開けなくなっちゃった)してみましたがうまくいきませんでした
イメージ説明
使っているPythonのPathとPipのPathが微妙に違うのが何か問題なのでしょうか
vscodeのsetting.jsonにも

json

1"python.pythonPath": "/Library/Frameworks/Python.framework/Versions/3.10/bin/python3",

と設定しています

補足情報(FW/ツールのバージョンなど)

※追記:フォルダ構成
イメージ説明

app.pyを実行した結果
イメージ説明
print(app.file)した結果
イメージ説明
sys.pathの確認
イメージ説明
なんかたくさん出てきてしまった
/Library/Frameworks/Python.Framework/versions/3.10/lib/python3.10/site-packages/app
の中身を確認するとイメージ説明
作った覚えのない謎ファイルになっていました。開発者が作ったサンプルファイルか何かですかね?
これは消してもいいですか?
テラテイル初心者なので、必要な情報が抜けていたらすみません<(_ _)>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2021/12/11 02:47

"単にその通りにやってない"がまず疑われて、一番ありそうなのはファイル構造の間違いかな? と思うので ls -R /Users/noharu/Desktop/FLASK_SNS/mybrog/ の結果を出してみてください。
quickquip

2021/12/11 04:36

不思議ですね…… 冒頭(エラーが出る行より上)で import app print(app.__file__) としたら何がprintされますか? あるいはエラーになりますか?
harupi0306

2021/12/11 04:40

いまhttps://teratail.com/questions/180950こっちの記事をみて、app.pyの方を実行したらなぜかサーバーに接続しました、、、意味がわからん!普通run.py使いますよね?
quickquip

2021/12/11 04:55

このapp,pyは動くように書いてあるので動くことは不思議じゃありません。 run.pyが動かないのは不思議です。
guest

回答2

0

sh

1import app 2print(app.__file__)

の結果が、/Library/Frameworks/Python.Framework/versions/3.10/lib/python3.10/site-packages/appを指していて、実行ディレクトリのappを見ていませんね。エラーの原因はこれです。


ただ、読み込みパスは普通は実行ディレクトリが先にくるはずなので謎は依然として残ります。

https://docs.python.org/ja/3/using/cmdline.html#cmdarg-script

スクリプト名が Python ファイルを直接指定していた場合、そのファイルを含むディレクトリが sys.path の先頭に追加され、

例えば

python

1import sys 2print(sys.path)

run.py冒頭に入れたら普通は

plain

1['/Users/noharu/Desktop/FLASK_SNS/mybrog', ...以下Pythonのシステム]

になってsite-packagesを見にいったりはしないはずなんですが……

vscodeの何かが、sys.pathに干渉しているのかもしれないですね。
sys.pathの確認とs1te-packages/appが何なのかをつきとめるなどでしょうか?

投稿2021/12/11 05:09

編集2021/12/11 05:10
quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

情報不足で良くわかりませんが、コンソールで以下を実行してみてください。

/Library/Frameworks/Python.framework/Versions/3.10/bin/python3 -m pip install app

投稿2021/12/11 01:03

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

harupi0306

2021/12/11 01:06

回答ありがとうございます! わかりにくくてすみません 実行してみましたがやはり同じエラーが出ます、、、 ちなみにどのような情報があればわかりやすくなりそうですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問