当我将Django项目部署到AWS Elastic Beanstalk时,我收到以下错误。但是在localhost上一切正常。
Creating application version archive "app-160505_232739".
Uploading: [##################################################] 100% Done...
INFO: Environment update is starting.
INFO: Deploying new version to instance(s).
ERROR: [Instance: i-c5493f58] Command failed on instance. Return code: 1 Output: (TRUNCATED)..., level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
ImportError: No module named 'storages'.
container_command 01_migrate in .ebextensions/03_python.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
ERROR: Unsuccessful command execution on instance id(s) 'i-c5493f58'. Aborting the operation.
ERROR: Failed to deploy application.
.ebextensions/03_python.config
档案:
01_migrate:
command: "python mooove_eb/manage.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "python mooove_eb/manage.py collectstatic --noinput"
leader_only: true
答案 0 :(得分:1)
错误消息告诉您缺少storages
模块。来自AWS Elastic Beanstalk documentation:
Elastic Beanstalk使用requirements.txt来确定在运行应用程序的EC2实例上安装哪个软件包。
您需要创建名为requirements.txt
的文件并添加行
storages==<your storages version>
您可以运行pip freeze
以查看您在开发环境中使用的版本。