2016-10-26 20 views
1

コードが仮想環境で正常に動作し、すべての依存関係でコードを正しくデプロイしていますが、SQLAlchemyを使用してSQL Rawクエリを実行しようとすると、AWS Lambda ServiceでPython SQLAlchemyを使用しているときに問題が発生しました

{ 
"stackTrace": [ 
[ 
    "/var/task/aws_handler.py", 
    13, 
    "twilio_handler", 
    "sms_bot.handle_communication(message_body, recipient)" 
], 
[ 
    "/var/task/sms_bot.py", 
    86, 
    "handle_communication", 
    "is_authenticated, user_id = self.authenticate_user(recipient)" 
], 
[ 
    "/var/task/sms_bot.py", 
    38, 
    "authenticate_user", 
    "result = execute_query(query)" 
], 
[ 
    "/var/task/db_handler.py", 
    28, 
    "execute_query", 
    "connection = get_db_connection()" 
], 
[ 
    "/var/task/db_handler.py", 
    19, 
    "get_db_connection", 
    "return get_sqlalchemy_engine().connect()" 
], 
[ 
    "/var/task/db_handler.py", 
    11, 
    "get_sqlalchemy_engine", 
    "return create_engine(SQLALCHEMY_DATABASE_URI)" 
], 
[ 
    "/var/task/sqlalchemy/engine/__init__.py", 
    386, 
    "create_engine", 
    "return strategy.create(*args, **kwargs)" 
], 
[ 
    "/var/task/sqlalchemy/engine/strategies.py", 
    75, 
    "create", 
    "dbapi = dialect_cls.dbapi(**dbapi_args)" 
], 
[ 
    "/var/task/sqlalchemy/dialects/mysql/mysqldb.py", 
    92, 
    "dbapi", 
    "return __import__('MySQLdb')" 
], 
[ 
    "/var/task/MySQLdb/__init__.py", 
    19, 
    "<module>", 
    "import _mysql" 
] 
    ], 
    "errorType": "ImportError", 
    "errorMessage": 
    "libmysqlclient.so.20: cannot open shared object file: No such 

    file or directory"} 

注:SQL_URIが正しいと私は解決策を見つけた

+0

トライアンインストールして再インストールしたMySQLのpython: PIPアンインストールのmysql-pythonの チェックこのリンクをインストールPIPのmysql-pythonの :http://stackoverflow.com/questions/34348752/error-loading-mysqldb-module- libmysqlclient-so-20-can not-open-shared-object-fi – PyNico

+1

展開パッケージ内に 'libmysqlclient.so.20'はありますか? –

+0

いいえ、私の展開パッケージにはありません。どのように含めることができますか? –

答えて

1

ローカルで作業している、

libmysqlclientの-dのインストールEV

自分のコンピュータ上の

は/ usr/libに/ x86_64の-のlinux-gnuのから

libmysqlclient.so.20

コピー/

to my aws deplアクセス権を777に変更し、すべてのファイルを圧縮してawsにアップロードしました。出来た。

関連する問題