使用连接到RDS MySQL的zappa将django部署到AWS Lambda, 无法部署 显示错误: NameError:未定义名称'_mysql':
zappa更新开发者给出错误: 错误:警告!部署的lambda的状态检查失败。对“ /”的GET请求产生了502个响应代码
AWS Cloudwatch日志:
名称'_mysql'未定义:NameError回溯(最近一次调用最近):lambda_handler中的文件“ /var/task/handler.py”,第609行 在Lambda_handler中返回LambdaHandler.lambda_handler(event,context)文件“ /var/task/handler.py”,第240行 handler = cls()文件“ /var/task/handler.py”,第146行,位于 init 中 wsgi_app_function = get_django_wsgi(self.settings.DJANGO_SETTINGS)文件“ /var/task/zappa/ext/django_zappa.py”,第20行,在 get_django_wsgi 在get_wsgi_application中,在第12行返回get_wsgi_application()文件“ /var/task/django/core/wsgi.py” django.setup(set_prefix = False)文件“ /var/task/django/init.py”,设置中的第24行 apps.populate(settings.INSTALLED_APPS)文件“ /var/task/django/apps/registry.py”,第114行,在填充中 app_config.import_models()文件“ /var/task/django/apps/config.py”,第211行,在import_models中 self.models_module = import_module(models_module_name)文件“ /var/lang/lib/python3.6/importlib/init.py”,第126行,在 import_module 在_gcd_import文件中,返回_bootstrap._gcd_import(name [level:],程序包,级别)文件“”,第994行 _find_and_load文件中的第971行“” “”,第955行,在_find_and_load_unlocked中 _load_unlocked中的行“ 665”中的文件“”
在第678行的文件“”中 exec_module文件“”,第219行,在 _call_with_frames_removed文件“ /var/task/django/contrib/auth/models.py”,第2行,在 从django.contrib.auth.base_user导入AbstractBaseUser,BaseUserManager文件“ /var/task/django/contrib/auth/base_user.py”, 第47行,在 class AbstractBaseUser(models.Model):新建文件“ /var/task/django/db/models/base.py”,第121行 new_class.add_to_class('_ meta',Options(meta,app_label))文件“ /var/task/django/db/models/base.py”,第325行,在add_to_class中 value.contribute_to_class(cls,name)文件“ /var/task/django/db/models/options.py”,第208行,在 功课 self.db_table = truncate_name(self.db_table,connection.ops.max_name_length())文件 getattr 中的“ /var/task/django/db/init.py”,第28行 返回getattr(连接[DEFAULT_DB_ALIAS],项目)文件“ /var/task/django/db/utils.py”,第207行,在 getitem 中 backend = load_backend(db ['ENGINE'])在load_backend中的文件“ /var/task/django/db/utils.py”,第111行 返回import_module('%s.base'%backend_name)文件“ /var/lang/lib/python3.6/importlib/init.py”,第126行,在 import_module 返回_bootstrap._gcd_import(name [level:],程序包,级别)文件“ /var/task/django/db/backends/mysql/base.py”,第16行,在 在第24行中,将MySQLdb导入为数据库文件“ /var/task/MySQLdb/init.py” 版本信息,_mysql.version_info,_mysql。文件 NameError:名称'_mysql'未定义
我的 settings.py 数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'raags-instance', # DB Instance created in AWS RDS
'USER': 'xyz',
'PASSWORD': 'passwordpassword',
'HOST': '*********.us-east-2.rds.amazonaws.com',
'PORT': 3306,
}
}
对于 DATABASES = {} ,成功部署 zappa部署和无服务器架构的新手,请协助,无法在任何地方找到解决方案。 预先感谢
答案 0 :(得分:0)
问题是由于MySQLdb目录中缺少.mysql文件
我尝试了一种解决方法,并导入pymysql和安装。 转到 django_project / django_project / init .py 文件(与 settings.py 所在的目录相同)
添加foll。代码并再次部署,这对我有用
root.iconbitmap('/path/to/ico/icon.ico')