前提・実現したいこと
djangoアプリをherokuでデプロイしたいと思い、こちらの記事を参考に作業しました。記事の最後まで完了済みです。https://tutorial-extensions.djangogirls.org/ja/heroku
そのうえで、ローカル環境でlocal_settings.py、本番環境でsettings.pyが動作するように__init__.pyに以下を記入しています。(参考:https://medium.com/@kjmczk/django-multiple-settings-2a4c15c7c7b0)
python
1from .settings import * 2 3try: 4 from .local_settings import * 5except: 6 pass
しかしローカル環境でrunserverしてみるとmoduleエラーになってしまいます。
発生している問題・エラーメッセージ
heroku openで本番環境のurlにアクセスするとApplication errorと出ます。
ローカル環境でrunserverすると、以下のエラーが出ます。
File "C:******\__init__.py", line 1, in <module> from .settings import * File "C:******\settings.py", line 14, in <module> import dj_database_url ModuleNotFoundError: No module named 'dj_database_url'
該当のソースコード
試したこと
①shellでpathを書き込む
shellで以下のコードを打ち、pathを追加しました。printで、このpathが追加されているのも確認しています。
>>> import sys >>> sys.path.append("C:\Users***\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_*******\LocalCache\local-packages\Python39\s ite-packages")
そのあとshell内でimport dj_database_urlした際にはエラーが出ませんでした。しかしrunserverでは相変わらずエラーが出ます。
②該当のファイルおよびフォルダ(django_toolbelt-0.0.1-py3.9.egg-info等)を
"C:\Users*\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_*****\LocalCache\local-packages\Python39\s
ite-packages"
から
"C:****\myvenv\Lib\site-packages"
へコピー。
以前django-alluthでモジュールエラーが出た時はこれで解決しました。
補足情報(FW/ツールのバージョンなど)
pip listでは以下の結果が出ます。
Package Version
asgiref 3.4.1
backports.entry-points-selectable 1.1.0
certifi 2021.10.8
cffi 1.14.6
charset-normalizer 2.0.6
cryptography 35.0.0
defusedxml 0.7.1
distlib 0.3.2
dj-database-url 0.5.0
dj-static 0.0.6
Django 3.2.7
django-allauth 0.45.0
django-toolbelt 0.0.1
filelock 3.0.12
gunicorn 20.1.0
idna 3.2
oauthlib 3.1.1
Pillow 8.3.2
pip 21.3.1
platformdirs 2.0.2
psycopg2 2.9.1
pycparser 2.20
PyJWT 2.2.0
python3-openid 3.2.0
pytz 2021.1
requests 2.26.0
requests-oauthlib 1.3.0
six 1.16.0
sqlparse 0.4.1
static3 0.7.0
urllib3 1.26.7
virtualenv 20.6.0
whitenoise 5.3.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/30 07:32