djangoアプリをEBにデプロイしようと数日間試みましたが、コマンドを実行しようとするとエラーが発生し続けます。したがって、基本的に、アプリをデプロイしようとすると、「python:ファイル 'manage.py'を開けません:[Errno2]そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。完全なエラーの場合、これはeb deploy
端末で実行した後に取得するものです。
Starting environment deployment via CodeCommit
--- Waiting for Application Versions to be pre-processed ---
Finished processing application version app-e8a0-170203_135603
INFO: Environment update is starting.
INFO: Deploying new version to instance(s).
WARN: Environment health has transitioned from Severe to Degraded. 100.0 % of the requests are erroring with HTTP 4xx. Insufficient request rate (6.0 requests/min) to determine application health. Command failed on all instances. Incorrect application version found on all instances. Expected version "app-e8a0-170203_135603" (deployment 43). Application update in progress (running for 2 seconds).
ERROR: [Instance: i-05377fd0bcfa86dd6] Command failed on instance. Return code: 2 Output: python: can't open file 'HungryBoat/manage.py': [Errno 2] No such file or directory.
command 03_migrate in .ebextensions/03_commands.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-05377fd0bcfa86dd6'. Aborting the operation.
ERROR: Failed to deploy application.
ログからのエラーメッセージ:
[2017-02-03T21:05:46.082Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_HungryBoat] : Starting activity...
[2017-02-03T21:05:46.082Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_HungryBoat/Command 01_migrate] : Starting activity...
[2017-02-03T21:05:46.147Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_HungryBoat/Command 01_migrate] : Activity execution failed, because: python: can't open file '/opt/python/current/app/hungryboat/manage.py': [Errno 2] No such file or directory
(ElasticBeanstalk::ExternalInvocationError)
[2017-02-03T21:05:46.147Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_HungryBoat/Command 01_migrate] : Activity failed.
[2017-02-03T21:05:46.147Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_1_HungryBoat] : Activity failed.
[2017-02-03T21:05:46.147Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Activity failed.
[2017-02-03T21:05:46.413Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0/EbExtensionPreBuild] : Activity failed.
[2017-02-03T21:05:46.413Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1/StartupStage0] : Activity failed.
[2017-02-03T21:05:46.414Z] INFO [2980] - [Application deployment app-019d3-170203_154910@1] : Completed activity. Result:
Application deployment - Command CMD-Startup failed
これが私が持っている設定ファイルです:
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "hungryboat.settings"
PYTHONPATH: "./hungryboat"
"aws:elasticbeanstalk:container:python":
WSGIPath: "hungryboat/wsgi.py"
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
commands:
01_pip_update:
command: "pip install --upgrade pip"
leader_only: true
02_pip_freeze:
command: "pip freeze > requirements.txt"
03_migrate:
command: "source /opt/python/run/venv/bin/activate && python manage.py migrate --noinput"
leader_only: true
04_collect_static:
command: "source /opt/python/run/venv/bin/activate && python manage.py collectstatic --noinput"
manage.pyの前にプロジェクト名を付けようとしましたが、それでも同じエラーが発生します。どうすればこれを解決できるかわかりません。このかわいそうな魂を救ってください。ありがとう。
編集:プロジェクトディレクトリツリーは多かれ少なかれ次のようになります:
hungryboat
├── hungryboat/.ebextensions
├── hungryboat/.elasticbeanstalk
├── hungryboat/accounts
├── hungryboat/dump.rdb
├── hungryboat/hungryboat
│ ├── hungryboat/hungryboat/asgi.py
│ ├── hungryboat/hungryboat/__init__.py
│ ├── hungryboat/hungryboat/migrations
│ ├── hungryboat/hungryboat/routing.py
│ ├── hungryboat/hungryboat/settings.py
│ ├── hungryboat/hungryboat/urls.py
│ └── hungryboat/hungryboat/wsgi.py
├── hungryboat/manage.py
├── hungryboat/menu
├── hungryboat/pickplace
├── hungryboat/README.md
├── hungryboat/requirements.txt
├── hungryboat/static
└── hungryboat/venv
**編集:上記の問題を修正しましたが、別のエラーが発生します**
私が持っているsettings.pyの中に、
SECRET_KEY = os.environ['APP_SECRET_KEY']
しかし、私はこのエラーが発生しています
INFO: Deploying new version to instance(s).
ERROR: [Instance: i-0c46f0a9e5069d5bf] Command failed on instance. Return code: 1 Output: (TRUNCATED)...python/run/venv/local/lib/python3.4/site-packages/django/conf/__init__.py", line 116, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
参考までに、EB環境変数内にAPP_SECRET_KEYがあります。
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "hungryboat.settings"
PYTHONPATH: "/opt/python/current/app/hungryboat:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: "hungryboat/wsgi.py"
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
container_commands:
01_migrate:
command: "django-admin.py migrate"
leader_only: true
02_collect_static:
command: "python /opt/python/current/app/hungryboat/manage.py collectstatic --noinput"
pythonpathが間違っているため、manage.pyファイルが見つかりません。最初にpythonpathを変更して、再試行してください。また、ローカルプロジェクトにrequirements.txtがあることを確認してください。インスタンスで要件を作成するのではなく、ローカルで作成する必要があります。デプロイすると、要件内のすべてのパッケージがpipでインストールされます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加