DjangoアプリをHerokuにデプロイしています。
git push heroku masterコマンドで、デプロイが途中まで終わったところなのですが、
その後、migrateをしたら、下記のエラーが出ます。
$heroku run python manage.py migrate
実行結果:
error
1Traceback (most recent call last): 2 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 20, in <module> 3 import psycopg2 as Database 4ModuleNotFoundError: No module named 'psycopg2'...
本番環境でのsettings.pyファイルは、settingsというディレクトリを作り、__init__.py
でローカル環境で使うファイルがない場合、production.pyファイルを読み込む設定にしています。
production.pyには環境変数設定したい設定を書き、import*でその他settings.pyに書かれていた内容のbase.pyを読み込ませています。
production
1from .base import * 2DEBUG = False 3... 4... 5import dj_database_url 6db_from_env = dj_database_url.config(conn_max_age=600) 7DATABASES['default'].update(db_from_env)
base
1DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.sqlite3', 4 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 5 } 6}
これはローカル環境でpsycopg2をインストールしてからもう一度git push heroku master
をすればいいのか、
requirements.txtにpsycopg2を設定してインストールして欲しい設定を書けばいいのかが分からず手が止まっています。
こういうエラーが出た場合はどうしたらmigrateを完了できるでしょうか・・・よろしくお願いします。
あなたの回答
tips
プレビュー