2017-06-02 8 views
5

私はAWSラムダとasyncpg使用しようとimport asyncpgAsyncpgとAWSラムダ

Unable to import module 'handler': No module named asyncpg.protocol.protocol' 

にしようとしたとき、私は、仮想環境とないthis答えのようなPythonの依存関係をインポートし、次のエラーを得ています。

upd。見つかったthisレポカスタムでコンパイルpsycopg2 AWSラムダではうまくいくものの、asyncpgではラムダフレンドリーなasyncpgパッケージをコンパイルするのにそのような代替または説明が見つかりません。

答えて

3

このライブラリにはCバインディングがあり、ラムダはそれらにうまく対応しません。 これを処理する主な方法は、Linux環境用にプリコンパイルされたバインディングで特定のライブラリをアップロードすることです。 主な方法は、hereの指示に従って、あなたのlinux(または私が推測しているMac)ですでにコンパイルされていることを確認することです。これは、上記のガイドラインが示唆しているように、venvを作成して組み込むだけで簡単に実現できます。 同様の問題hereを見つけることができます。 一般的に、これは一般的なフレームワークで、chaliceのような回避策を見つけようとします。