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

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

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

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

7206閲覧

pandasインストールしたのにモジュールがないとエラーが出る(バリバリの初心者です)

muchi_muchi

総合スコア2

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/10/25 12:14

前提・実現したいこと

ローカルでサーバーを立ち上げ、index.htmlでユーザが入力した値をcgiを利用して渡し、値を渡した先のtest.pyでpandasを使いたいと思っています。
しかし、import pandasをtest.pyで書いたところ、エラーが出ました。

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

No module named pandas

該当のソースコード

html

1<html> 2<meta charset="UTF-8"> 3 <body> 4 <form action="/cgi-bin/test.py" method="POST"> 5 <input type="text" name="area"> 6 <input type="submit" value="検索"> 7 </form> 8 </body> 9</html>

python3

1import cgi 2import cgitb 3import pandas 4 5cgitb.enable() 6 7print("Content-Type: text/html; charset=UTF-8\n") 8 9form = cgi.FieldStorage() 10 11print(form) 12 13for key in form: 14 value = form[key].value 15 print('<p>%s: %s</p>' % (key, value)) 16 17df_sample = pandas.read_csv('example.csv') 18print(str(df_sample.loc[0, "instagram"])) 19 20print(df_sample)

やってみたこと

ファイルの構造は、以下のようになっています。

text

1index.html 2| 3cgi-bin 4 |_test.py 5 |_example.csv

ちなみに、ターミナル上ではpip3を使ってpandasをインストールしました。ローカルサーバ上でcgi-binになるとダメになるので、使えない原因があるのかもしれません。初心者でわからないことが多く、言葉が拙くて申し訳ございません。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ターミナル上のPythonとcgiから使っているPythonが違うのでしょう。

以下の方法でcgiから使っているPythonが何かを確認しましょう。
cgiで動かしているコードに以下を追加して、python_executableをcgiの出力に反映させるようにしてください。

python

1import sys 2python_executable = sys.executable

これを見れば実行しているPythonがわかります。

表示されるpythonのフルパスが仮に'/aaa/bbb/ccc/python'だとした場合、
ターミナルで

terminal

1/aaa/bbb/ccc/python -m pip install pandas

で必要なモジュールをインストールしましょう。Anacondaならばpipではなくcondaを使うべきですが、Anacondaならpandasは標準で入っているのでその必要はないはずです。

投稿2021/10/25 12:34

ppaul

総合スコア24670

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

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

muchi_muchi

2021/10/25 12:47

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python という結果が返ってきたため、ターミナルで、 /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m pip3 install pandas とやってみました。 しかし今度は、No module named pip3 と表示されてしまいました。(pipでもやってみたのですが、同様の結果となってしまいました)
jbpb0

2021/10/25 13:15

> /System/Library/Frameworks/Python.framework/Versions/2.7/... Python 2.7ですよ、それ > ターミナル上ではpip3を使ってpandasをインストールしました。 cgiでもPython 3.*を使うようにした方がいいですよ
muchi_muchi

2021/10/25 13:50

python3を指定して、pip3でインストールした結果、動きました。 ppaulさん、jbpb0さん、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問