私はDjango初心者です。アプリを作成し、Herokuを使用してそれをデプロイしたいと考えています。ただし、git Push heroku master
(私はHerokuの始め方に従っています)、これは私が得たものです:
Counting objects: 36, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (33/33), done.
Writing objects: 100% (36/36), 19.22 KiB | 0 bytes/s, done.
Total 36 (delta 3), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/python.tgz
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote: ! Push failed
remote: Verifying deploy....
remote:
remote: ! Push rejected to dry-waters-63931.
remote:
To https://git.heroku.com/dry-waters-63931.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to Push some refs to 'https://git.heroku.com/dry-waters-63931.git'
私のルートディレクトリ:
├── assignment
├── household_management (Django app)
├── templates
|
├── db.sqlite3
|
├── manage.py
皆さんの力になれていただければ幸いです。今本当に落ち込んでいます...
アプリケーションの実行に必要なすべてのモジュールを含むrequirements.txt
ファイルを追加する必要があります。
pip freeze > requirements.txt
を実行すると、すべてのモジュールをファイルにフリーズできます。 virtualenvを使用している場合にのみこれを行うことをお勧めします。それ以外の場合はすべてのモジュールが追加されるためです。
とにかく、アプリケーションに必要なモジュールを正確に特定し、requirements.txt
というファイルを作成して、アプリケーションディレクトリに配置します。
要件ファイルの構文は次のとおりです。
package name == version #
package name == version #
package name == version #
注:特定のバージョン番号を指定することはオプションです。
要件ファイルの例を次に示します( this チュートリアルから取得):
Flask==0.11
Jinja2==2.8
gunicorn==19.6.0
Requirements.txtをコミットすることを忘れないでください
上記の問題を解決できる手順を次に示します。
Appフォルダーにrequirements.txtファイルを作成します。
同じフォルダーからコマンドpip freeze> requirements.txtを実行します。
変更をコミットします。
git add。
git commit -m「追加された要件」
git push herokuマスター
これが問題です。私の場合:pipはローカルコードベースから依存関係を自動的にインストールすることもできるため、モジュールを追加せずにそれを行いました。 requirements.txtファイルを確認したときにコマンドを実行した後、モジュールが既に自動的に追加されていました。
注:これがあなたに起こらなかった場合は、ハリソンが答えで言ったように手動で行うことができます。
この手順は、私の場合と同様のエラーが発生した場合にのみ発生します。conda==バージョンに関するエラーが発生しました。バージョンが見つかりません。モジュールはローカルのコードベースに基づいて自動的に追加されたので、Condaバージョンがローカルマシンにインストールされているため、requirement.txtファイルに自動的に追加されました。あなたがしなければならないすべてはrequirements.txtファイルからそれを取り除くことです。
変更を再度コミットします。
同様のエラーに直面したあなたの一部を助けるかもしれないと思った。
requirements.txtをメインアプリケーションフォルダーに追加するだけです。これには、Django、フラスコ。