pipでインストールしたモジュールが見つからない

実現したいこと

flaskでアプリを実行したときにインストールしたモジュールが実行できるようにする。

前提

flaskでウェブアプリの開発をしているのですが、flask --app ○○ runコマンドで実行しようとしたらインストールしたはずのモジュールが見つからないというエラーが出ました。解決策を教えて頂きたいです。

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

<username>noMacBook flask % flask --app sig run Usage: flask run [OPTIONS] Try 'flask run --help' for help. Error: While importing 'sig', an ImportError was raised: Traceback (most recent call last): File "/Users/<username>/.pyenv/versions/3.10.4/lib/python3.10/site-packages/flask/cli.py", line 218, in locate_app __import__(module_name) File "/Users/<username>/flask/sig.py", line 3, in <module> from scipy.stats import chi2_contingency ModuleNotFoundError: No module named 'scipy'

該当のソースコード

import pandas as pd import numpy as np from scipy.stats import chi2_contingency from flask import Flask, redirect ,request,render_template,jsonify from flask_bootstrap import Bootstrap import json import requests import sys print(sys.executable) nc = Flask(__name__) @nc.route("/") def check(): return render_template('sig.html') @nc.route('/output', methods=['POST']) def output(): #json形式でURLを受け取る allA = int(request.json['allA']) allB = int(request.json['allB']) CVA = int(request.json['CVA']) CVB = int(request.json['CVB']) a,b,c,d=chi2_contingency(np.array([[allA,CVA],[allB,CVB]])) return_data = {"result":b} return jsonify(ResultSet=json.dumps(return_data)) if __name__ == '__main__': nc.run(host="127.0.0.1", port=8080)

試したこと

pipでモジュールをインストールしたpythonと動いているpythonが違う可能性があるという記述を見つけたので
/Users/<username>/.pyenv/versions/3.10.4/lib/python3.10 -m pip install scipy
のコマンドで直接インストールしようとしたらpermission deniedと出ました。

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

OSはMacOS ventura 13.0.1です。
pythonのバージョンは3.10、pathについては正直あまり理解できていません。
which pip : /Users/<username>/.pyenv/shims/pip
which python : /Users/<username>/.pyenv/shims/python
flaskの導入方法:pip install flask
よろしくお願いします。

コメントを投稿

0 コメント