首页 > 解决方案 > 使用 ElasticBeanstalk 在 AWS 上部署在 Python 3.6 上运行的 Django 项目

问题描述

我之前也使用此资源使用 Python2.7 完成了此操作

但是,这个错误对我来说是新的

Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1

以下是详细的回溯

(ElasticBeanstalk::ExternalInvocationError)
caused by: Traceback (most recent call last):
    File "/opt/python/run/venv/bin/pip", line 7, in <module>
      from pip import main
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/__init__.py", line 28, in <module>
      from pip.vcs import git, mercurial, subversion, bazaar  # noqa
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/vcs/subversion.py", line 9, in <module>
      from pip.index import Link
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/index.py", line 31, in <module>
      from pip.wheel import Wheel, wheel_ext
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/wheel.py", line 6, in <module>
      import compileall
    File "/usr/lib64/python3.6/compileall.py", line 20, in <module>
      from concurrent.futures import ProcessPoolExecutor
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/concurrent/futures/__init__.py", line 8, in <module>
      from concurrent.futures._base import (FIRST_COMPLETED,
    File "/opt/python/run/venv/local/lib/python3.6/site-packages/concurrent/futures/_base.py", line 381
      raise exception_type, self._exception, self._traceback
                          ^
  SyntaxError: invalid syntax
  2018-08-02 09:33:29,231 ERROR    Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1
  Traceback (most recent call last):
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main
      install_dependencies()
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies
      check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True)
    File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
      raise CalledProcessError(retcode, cmd)
  CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 (Executor::NonZeroExitStatus)

我不明白这个问题似乎是什么。

会喜欢任何可能的方向。

标签: pythondjangoamazon-web-servicesdeploymentamazon-elastic-beanstalk

解决方案


您已经安装了 Python 2 包,但您使用的是 Python 3。

concurrent.futures 库包含在 Python 3 的标准库中。您应该从您的 requirements.txt 中删除它。


推荐阅读