我正在使用弹性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时才会发生。
答案 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