質問するログイン新規登録

Q&A

0回答

1656閲覧

HerokuにFlaskのアプリをデプロイしようとするがGitファイルがプッシュできない問題について

退会済みユーザー

退会済みユーザー

総合スコア0

Flask

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

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Heroku

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

Python 3.x

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

Python

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

0グッド

2クリップ

投稿2020/05/10 03:09

編集2020/05/10 05:11

0

2

前提・実現したいこと

Python Flaskで作成したWebアプリをHerokuでデプロイしようとしていますが、$ git push heroku masterでpushするときにエラーが出て、デプロイできずに困っています。

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

以下のエラーメッセージでen-core-web-sm==2.2.5が問題ということはわかるのですが、どのように変更すれば良いかわかりません。

Activity Feed > Build Log

ERROR: Could not find a version that satisfies the requirement en-core-web-sm==2.2.5 (from -r /tmp/build_261...(個別のビルド番号/requirements.txt (line 31)) (from versions: none) ERROR: No matching distribution found for en-core-web-sm==2.2.5 (from -r /tmp/build_261...(個別のビルド番号)/requirements.txt (line 31)) ! Push rejected, failed to compile Python app. ! Push failed

該当のソースコード

以下の手順で、Python用のビルドパックやPostgreSQLを使用するためのアドオンも含めて設定しました。
最後のコマンドだけエラーが出て通らない状態です。

bash

1$ heroku login --interactive 2$ heroku create appname 3$ git init 4$ heroku git:remote -a appname 5$ heroku buildpacks:set heroku/python 6$ heroku addons:create heroku-postgresql:hobby-dev 7$ git add . 8$ git commit -m "first deploy" 9$ git push heroku master

試したこと

requirements.txtProcfileの場所やつづりの確認は行いました。
また、$ rm -rf .gitで、再度

また、記事「Rails Herokuにpushで詰まった話」に記載されていたように、以下のコマンドを試しましたが、エラーが出ている状態です。

bash

1$ heroku buildpacks:set https://github.com/bundler/heroku-buildpack-bundler2

エラーメッセージ

-----> App not compatible with buildpack: https://github.com/bundler/heroku-buildpack-bundler2 More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure ! Push failed

ファイル構成

webappのフォルダからherokuコマンドを実行しています
ローカルではWebアプリを実行できています

Webapp ├── app.py ├── static ├── templates ├── Procfile ├── requirements.txt ├── flaski (db関連フォルダ)

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

ターミナル バージョン2.10
Python 3.7.4
Flask '1.1.2'
heroku/7.33.3 darwin-x64 node-v11.14.0
SQLAlchemy 1.3.16

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

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

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

hoshi-takanori

2020/05/10 04:21

Flaskで作成したWebアプリの構成はどうなってますか? ファイル一覧などをご提示ください。 なお、「Rails Herokuにpushで詰まった話」は Ruby on Rails の記事なので、おそらく python アプリでそれを設定すると動くものも動かなくなると思います。
退会済みユーザー

退会済みユーザー

2020/05/10 08:08

発生している問題・エラーメッセージとファイル構成を修正しました。よろしくお願いします。
退会済みユーザー

退会済みユーザー

2020/05/10 09:22

`$pip freeze > requirements.txt`でrequirements.txtを出力したところ、記載されていました。手動で削除するか、それがWebアプリで使われているのか確認する方法はあるのでしょうか。
hoshi-takanori

2020/05/10 10:01

pip freeze はインストールされてるライブラリを全て出力するようですね。それで venv とかが必要になるってことにいま気づきました。python はそんなに詳しくないので、お役に立てなくてごめんなさい。
退会済みユーザー

退会済みユーザー

2020/05/17 00:24

ありがとうございます。実行プログラムで必要なrequirements.txtだけを書き出すためには、仮想環境などを作ってそこにファイルだけ置いて書き出すしか方法はないのでしょうか。
hoshi-takanori

2020/05/21 10:32 編集

venv 調べてみました。仮想環境というと大袈裟に聞こえますが、独立した python ライブラリの置き場を作って、それを利用するための環境変数を一時的に設定するだけですね。 1. プロジェクトディレクトリで python3 -m venv venv で仮想環境を作成 2. source venv/bin/activate で仮想環境を有効化 3. 最初はライブラリが空なので、必要なものだけ pip install 4. 動作確認して、動いたら pip freeze で requirements.txt を作成 5. 仮想環境から抜けるには deactivate これだけみたいです。間違って venv ディレクトリを git 管理しないように注意が必要かも。 https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
Yasumichi

2020/05/21 12:57

en-core-web-sm-mirror (2.2.5) というのならあるぽいですね。 English multi-task CNN trained on OntoNotes. Assigns context-specific token vectors, POS tags, dependency parse and named entities. 使ってないなら、その行、エディターで削除しても問題ないと思いますよ。
guest

この質問の投稿者はすでに退会しているため、質問者からの返信がない点にご留意ください。

この質問の投稿者はすでに退会しているため、質問者からの返信やベストアンサーの選定がない点にご留意ください。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.25%

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

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

質問する

関連した質問