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

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

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

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

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Python

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

Q&A

解決済

1回答

426閲覧

ターミナルでPythonのファイルを起動時に起こるエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Flask

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

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Python

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

0グッド

0クリップ

投稿2017/11/26 01:43

###前提・実現したいこと
Pythonウェブアプリケーションフレームワーク Flaskを使って、名前を入力するとそれを反映させてたページを表示するwebサイトを作ろうとしています。
以下の記事を参考に進めています。
参考記事
ターミナルでPythonのファイルを起動時にエラーが表示されました。

###発生している問題・エラーメッセージ
以下のエラーメッセージからどのようにコードを変更すればいいかアドバイスをいただきたいです。

Traceback (most recent call last): File "Fillform/sample.py", line 4, in <module> import numpy as np ImportError: No module named numpy

###該当のソースコード

python

1# -*- coding: utf-8 -*- 2# Flask などの必要なライブラリをインポートする 3from flask import Flask, render_template, request, redirect, url_for 4import numpy as np 5 6# 自身の名称を app という名前でインスタンス化する 7app = Flask(__name__) 8 9# メッセージをランダムに表示するメソッド 10def picked_up(): 11 messages = [ 12 "こんにちは、あなたの名前を入力してください", 13 "やあ!お名前は何ですか?", 14 "あなたの名前を教えてね" 15 ] 16 # NumPy の random.choice で配列からランダムに取り出し 17 return np.random.choice(messages) 18 19# ここからウェブアプリケーション用のルーティングを記述 20# index にアクセスしたときの処理 21@app.route('/') 22def index(): 23 title = "ようこそ" 24 message = picked_up() 25 # index.html をレンダリングする 26 return render_template('index.html', 27 message=message, title=title) 28 29# /post にアクセスしたときの処理 30@app.route('/post', methods=['GET', 'POST']) 31def post(): 32 title = "こんにちは" 33 if request.method == 'POST': 34 # リクエストフォームから「名前」を取得して 35 name = request.form['name'] 36 # index.html をレンダリングする 37 return render_template('index.html', 38 name=name, title=title) 39 else: 40 # エラーなどでリダイレクトしたい場合はこんな感じで 41 return redirect(url_for('index')) 42 43if __name__ == '__main__': 44 app.debug = True # デバッグモード有効化 45 app.run(host='0.0.0.0') # どこからでもアクセス可能に

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

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

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

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

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

guest

回答1

0

ベストアンサー

numpyがインストールされていないのが原因です。インストールすれば解決できます。

あるいは、numpyを使わずにコードを書けます。そのためには2箇所変更が必要です。

import numpy as np

これを以下のように変えてください。

import random

そしてもう一つ。

return np.random.choice(messages)

これを以下のように変えてください。

return random.choice(messages)

投稿2017/11/26 02:56

shimizukawa

総合スコア1847

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

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

退会済みユーザー

退会済みユーザー

2017/11/26 05:01

ご回答いただきましてありがとうございます。 ターミナル上でのエラーはなくなり、ファイルを起動することはできました。 同じフォルダ内にhtmlファイルを置き、Pythonのコードを走らせながら、参考記事の通りにhttp://localhost:5000/indexへアクセスしてみましたが、404NotFoundと表示されました。 こちらはまた別に質問したほうがよろしいでしょうか。
shimizukawa

2017/11/26 07:53

そうですね。おそらく http://localhost:5000/ で期待する結果が得られると思いますが、うまくいかない or 深く知りたい場合は別の質問を出してもらった方が良さそうです。
退会済みユーザー

退会済みユーザー

2017/11/26 11:13

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問