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

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

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

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4339閲覧

Heroku でModuleNotFoundError: No module named 'sklearn'というエラーがでる

meJ15

総合スコア55

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/03/07 06:57

編集2019/03/07 08:06

前提・実現したいこと

pythonのflaskでローカルで動作するウェブアプリを作りました。
今度はそれをウェブでだれでも見れるようにしたいと考え、Herokuを用いようとしています。

Heroku openでウェブを開くと、Application Errorとなりました。
logをみると
イメージ説明

となっていてsklearnが見つからないというエラーがでています。(sklearnはインストールしたにもかかわらず)

pip install sklearnをして、requirements.txtを更新した後にgitにadd,commitして

git push heroku masterも上手くできています。なにが原因なのでしょうか?

requriments.txtの中身は
beautifulsoup4==4.7.1
bs4==0.0.1
certifi==2018.11.29
chardet==3.0.4
Click==7.0
cycler==0.10.0
decorator==4.3.2
Flask==1.0.2
gunicorn==19.9.0
idna==2.8
itsdangerous==1.1.0
jabstract==0.1.3
Janome==0.3.7
Jinja2==2.10
kiwisolver==1.0.1
MarkupSafe==1.1.1
matplotlib==3.0.3
networkx==2.2
numpy==1.16.2
pandas==0.24.1
pyparsing==2.3.1
python-dateutil==2.8.0
pytz==2018.9
requests==2.21.0
scikit-learn==0.20.3
scipy==1.2.1
six==1.12.0
sklearn==0.0
soupsieve==1.8
urllib3==1.24.1
Werkzeug==0.14.1
となっています。

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

ModuleNotFoundError: No module named 'sklearn'

該当のソースコード

pip install sklearn /*出力 #Requirement already satisfied: sklearn in c:\users\jump1268\webcsv\venv\lib\site-packages (0.0) #Requirement already satisfied: scikit-learn in c:\users\jump1268\webcsv\venv\lib\site-packages (from sklearn) (0.20.3) #Requirement already satisfied: numpy>=1.8.2 in c:\users\jump1268\webcsv\venv\lib\site-packages (from scikit-learn->sklearn) (1.16.2) #Requirement already satisfied: scipy>=0.13.3 in c:\users\jump1268\webcsv\venv\lib\site-packages (from scikit-learn->sklearn) (1.2.1) */ pip freeze > requirements.txt git add . git commit -m"change " git push heroku master heroku open

試したこと

アンインストールしたり、色々調べてみましたがうまくいきません。
他のモジュールはインストールして、エラーがなくなったのですが、sklearnだけがエラーになります。
何か良い改善方法はありますでしょうか?

あたらしくpipfile.lockを作り、heroku openをすると
イメージ説明
となりました。

何がいけないのでしょうか?

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

windows10, python 3.6.5,

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

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

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

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

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

guest

回答1

0

ベストアンサー

Pipfile.lock はちゃんと変更が反映されているでしょうか?

参考:
HerokuのPythonチュートリアルでModuleNotFoundError

bash

1pipenv install 2pipenv shell 3git add Pipfile.lock 4git commit -m 'add Pipfile.lock' 5git add Pipfile.loc

投稿2019/03/07 07:30

nskydiving

総合スコア6500

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

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

meJ15

2019/03/07 08:03

解答ありがとうございます。 私の環境にpipfile.lockというものがありませんでした。 あらかじめ構築していた環境に pip install pipenvを追加で入れ、 pipenv install pipenv shell git add Pipfile.lock git commit -m 'add Pipfile.lock' をしてからheroku openするとモジュール読み込みのエラーは消えました。 最後の(git add Pipfile.loc)がエラーになりましたが。 しかし、Application Errorで画面が表示されないことは変わらず ログが 2019-03-07T06:29:35.379490+00:00 heroku[web.1]: Process running mem=835M(163.1%) 2019-03-07T06:29:35.379627+00:00 heroku[web.1]: Error R14 (Memory quota exceeded) 2019-03-07T06:29:38.018029+00:00 heroku[web.1]: Process running mem=1279M(250.0%) 2019-03-07T06:29:38.018353+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded) 2019-03-07T06:29:38.018605+00:00 heroku[web.1]: Stopping process with SIGKILL 2019-03-07T06:29:38.179523+00:00 heroku[web.1]: Process exited with status 137 2019-03-07T06:29:38.196458+00:00 heroku[web.1]: State changed from up to crashed 2019-03-07T06:45:49.658392+00:00 heroku[web.1]: State changed from crashed to starting 2019-03-07T06:46:07.221569+00:00 heroku[web.1]: Starting process with command `gunicorn app5:app --log-file -` 2019-03-07T06:46:10.130678+00:00 app[web.1]: [2019-03-07 06:46:10 +0000] [4] [INFO] Starting gunicorn 19.9.0 2019-03-07T06:46:10.131214+00:00 app[web.1]: [2019-03-07 06:46:10 +0000] [4] [INFO] Listening at: http://0.0.0.0:28370 (4) 2019-03-07T06:46:10.131334+00:00 app[web.1]: [2019-03-07 06:46:10 +0000] [4] [INFO] Using worker: sync 2019-03-07T06:46:10.135010+00:00 app[web.1]: [2019-03-07 06:46:10 +0000] [10] [INFO] Booting worker with pid: 10 2019-03-07T06:46:10.209064+00:00 app[web.1]: [2019-03-07 06:46:10 +0000] [11] [INFO] Booting worker with pid: 11 2019-03-07T06:46:10.817608+00:00 heroku[web.1]: State changed from starting to up 2019-03-07T06:46:24.378071+00:00 heroku[web.1]: State changed from up to crashed 2019-03-07T06:46:24.229125+00:00 heroku[web.1]: Process running mem=1279M(250.0%) 2019-03-07T06:46:24.229262+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded) 2019-03-07T06:46:24.229416+00:00 heroku[web.1]: Stopping process with SIGKILL 2019-03-07T06:46:24.248796+00:00 heroku[web.1]: Process running mem=1265M(247.2%) 2019-03-07T06:46:24.248942+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded) 2019-03-07T06:46:24.248989+00:00 heroku[web.1]: Stopping process with SIGKILL 2019-03-07T06:46:24.359854+00:00 heroku[web.1]: Process exited with status 137 このようにでました。 これは何が原因なのでしょうか? 解答者さんは 同じようなエラーになりましたか?
nskydiving

2019/03/07 09:07

>解答者さんは >同じようなエラーになりましたか? 私のときは正常にサイトが表示されました。 Error R14 (Memory quota exceeded) Error R15 (Memory quota vastly exceeded) メモリオーバーのエラーが出ているので、使用メモリを確認してみてください。 1 Dyno に割り当てられるメモリ量には上限があります。 メモリ量の上限はプランによって違いますが、もし free プランなら 512 MB ですね。
meJ15

2019/03/08 02:57

サイトからスクレイピングして、学習済みのモデルから文章を要約するだけなのですが、メモリ量上限以上つかってるのですかね、、、 下のサイトも機械学習使ってるので、大差ないような気もしますが、 https://qiita.com/pnyompen/items/5b6a587b2392cabfda86
meJ15

2019/03/08 05:29

回答ありがとうございます。リンク見ました。 Metricsが無料登録ユーザだと見れないみたいです。 private dynos も個人では使えないみたいなので、課金するしかなさそうですね。。 Application metrics are available only to apps that are using hobby, professional (standard-1x, standard-2x and performance), or private dynos.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問