我一直在本地从事Django项目的工作,最后我决定将其发布到AWS Elastic Beanstalk,在部署过程中,我不断收到错误消息:
从django.core.wsgi导入get_wsgi_application
没有名为“ django”的模块
我浏览了官方的tutorial from AWS以及tutorial from the Real Python,我已经通过运行pip freeze
验证了Django的安装,并返回了
...
colorama == 0.3.9
Django == 2.2.9
django-celery == 3.3.1
....
[我也一直在本地与Django广泛合作。但是只是为了确保我运行了以下命令并获得了此输出。
(。venv)$ source .venv / bin / activate
(。venv)$ pip install django
已经满足要求:./。venv / lib / python3.7 / site-packages(2.2.9)中的django
已经满足要求:./。venv / lib / python3.7 / site-packages中的sqlparse(来自Django)(0.3.0)
已经满足要求:./。venv / lib / python3.7 / site-packages中的pytz(来自django)(2019.3)
当我跑步时:
(.venv) $ python
Python 3.7.4 (default, Jul 9 2019, 18:13:23)
[Clang 10.0.1 (clang-1001.0.46.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.__file__)
.../code/core_web_app/.venv/lib/python3.7/site-packages/django/__init__.py
很抱歉,如果这已经结束了,但是我看过的大多数帖子都带有评论,询问是否已安装Django或说必须安装Django。我的推测是Django是安装在我的本地计算机上,而不是安装在我的远程计算机上。此外,我注意到了此post,并确保我的requirements.txt文件也位于我的根目录中。您可能会在下面找到一些其他信息。
。ebextensions / django.config
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "myapp.settings"
"PYTHONPATH": "/opt/python/current/app/src:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: src/myapp/wsgi.py
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
src / myapp / wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myapp.settings')
application = get_wsgi_application()
任何帮助将不胜感激,因为这是我第一次使用此工具,我想我在某个地方犯了一个非常愚蠢的错误。