在将django应用程序部署到AWS Beanstalk时,模块'enum'没有属性'IntFlag'

时间:2017-11-24 14:37:04

标签: python django elastic-beanstalk

我正在使用弹性beanstalk的CLI部署我的django应用程序,它在日志中显示以下错误。

我创建了一个python 2.7环境,并通过在EC2实例中键入“python -V”进行验证,它显示了正确的python版本(2.7),但在错误日志中,似乎正在使用python3.6。请查看以下错误

Collecting enum==0.4.6 (from -r /opt/python/ondeck/app/requirements.txt (line 43))
    Downloading enum-0.4.6.tar.gz
      Complete output from command python setup.py egg_info:
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/opt/python/run/venv/local/lib/python3.6/site-packages/setuptools/__init__.py", line 5, in <module>
          import distutils.core
        File "/opt/python/run/venv/lib64/python3.6/distutils/__init__.py", line 4, in <module>
          import imp
        File "/opt/python/run/venv/lib64/python3.6/imp.py", line 27, in <module>
          import tokenize
        File "/opt/python/run/venv/lib64/python3.6/tokenize.py", line 33, in <module>
          import re
        File "/opt/python/run/venv/lib64/python3.6/re.py", line 142, in <module>
          class RegexFlag(enum.IntFlag):
      AttributeError: module 'enum' has no attribute 'IntFlag'

当我在本地构建时,它工作得很好,但只有当我使用“eb deploy”命令将我的代码上传到弹性beanstalk时才会发生。

1 个答案:

答案 0 :(得分:1)

enum软件包在Python和Django的较新版本中存在已知问题。 您的要求中有枚举。您的本地服务器运行正常吗?检查通过吗?

python ./manage.py check

我建议摆脱枚举。如果您的实例上已预先安装了该软件包,请使用以下方法删除该软件包:

sudo rm -r /opt/python/run/venv/lib/python3.6/site-packages/enum

相关,接近重复的问:enum34 issue in Elastic Beanstalk