7

ランタイムで AWS Lambda スクリプトを実行していPython 2.7ます。ただし、初期化するたびにgrequestsライブラリのインポートが開始されますが、gevent に依存しているため失敗します。

Gevent is required for grequests.

grequests ライブラリの検索に成功しているように見えますが (gevent が必要であることを認識しているため)、失敗しています。

私がこれまでに試したこと:

pip install --ignore-installed grequests -t .

pip install --ignore-installed grequests -t ./lib

pip install --ignore-installed gevent -t .

pip install --ignore-installed gevent -t ./lib

次に、ディレクトリの内容を圧縮し、次の手順に従って AWS にアップロードします: http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package。 html

何を試しても Lambda がgevent見つからないようですが、デフォルト以外の他のライブラリを問題なく見つけることができます。

4

2 に答える 2

3

Gevent はlibevに基づいているため、pip 経由でインストールされると、バイナリをコンパイルする可能性が高くなります。

AWS Lambda で実行できるようにする場合は、Amazon Linux 用にコンパイルされたバイナリをデプロイしていることを確認する必要があります。これを行うには、Amazon Linux を実行している EC2 インスタンスでデプロイ パッケージをビルドします。

この回答このチュートリアルもチェックしてください。

于 2016-04-19T22:43:13.977 に答える
3

Amazon Linux インスタンスgeventからビルドする必要がありました。誰かがそれらを必要srcとする場合は、結果のファイルをアップロードした Lambda に含めるだけで、上司のように並行処理する必要があります。zipzip

https://github.com/brandonmp/aws-lambda-grequests

于 2016-12-28T00:40:01.523 に答える