実現したいこと
Apache, Djangoの設定を解説してる記事は一通り読んだ挙句、解決できないのでどなたかアドバイスをいただけませんか。。。
実現したいことは以下のとおりです。
- Apacheを使用し、Djangoを本番環境でデプロイしたい。
- しかし、httpdのエラーログにはタイトルのエラー「ModuleNotFoundError: No module named 'プロジェクト名_hoge'」が出ており、これを解決したい。
- [ ]考えられる原因、おかしい点、見落としてそうな点などを皆さんに教えていただきたい。
前提
※「プロジェクト名_hoge」としているのは、settingsなどが入っているフォルダをプロジェクト名と識別するためです。
gitに上がっている&EC2環境にcloneしているコードディレクトリ群は以下のとおりです。
├──その他アプリ名など ├── プロジェクト名_hoge(settings.pyなど入っているディレクトリ) │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-37.pyc │ │ └── settings.cpython-37.pyc │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── manage.py ├──その他templatesなど
おそらくエラーが発生している部分(wsgi.py)は以下のとおりです。
#!/usr/bin/env python3 import os from django.core.wsgi import get_wsgi_application import sys #本番環境時セッティングする sys.path.append('/home/ec2-user/プロジェクト名') sys.path.append('/home/ec2-user/プロジェクト名/プロジェクト名_hoge') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'プロジェクト名_hoge.settings') application = get_wsgi_application()
発生している問題・エラーメッセージ
肝心のエラーメッセージは以下のとおりです。
File "/home/ec2-user/仮想環境名/lib64/python3.7/site-packages/django/conf/init.py", line 69, in _setup self._wrapped = Settings(settings_module) File "/home/ec2-user/仮想環境名/lib64/python3.7/site-packages/django/conf/init.py", line 170, in init mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/lib64/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked ModuleNotFoundError: No module named 'プロジェクト名_hoge'
試しに、wsgi.pyをコマンドラインで叩いてみても同じエラーが出力されています。
$ python3 プロジェクト名_hoge/wsgi.py 以下同様のエラー
Python3のインストール済みパッケージ群も書いておきます
asgiref==3.6.0 certifi==2022.12.7 charset-normalizer==3.1.0 distlib==0.3.6 Django==3.2.18 django-widgets-improved==1.5.0 djangorestframework==3.14.0 docutils==0.19 environ==1.0 filelock==3.9.0 idna==3.4 importlib-metadata==6.0.0 jp-prefecture==0.7.9.1 lockfile==0.12.2 mod-wsgi==4.9.4 mod-wsgi-httpd==2.4.54.1 numpy==1.21.6 pandas==1.3.5 Pillow==9.4.0 platformdirs==3.1.1 pystache==0.6.0 python-daemon==3.0.1 python-dateutil==2.8.2 pytz==2022.7.1 requests==2.28.2 sendmail==2.0 six==1.16.0 sqlparse==0.4.3 typing_extensions==4.5.0 urllib3==1.26.15 virtualenv==20.20.0 zipp==3.15.0
補足情報
今回の件に関係してそうな環境は以下のとおりです。
Apache/2.4.55
Amazon EC2
Django
Python3.7
### 納期が迫っていて泣きそうです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/03/12 08:11