私はPython(2.7)プログラムを作成してパッケージ化し、Amazaon WSでラムダ関数を作成しています。私が持っているプログラムは、PySha3 packageに依存しています。PySha3 packageは、基本的に最適化されたSha3 CパッケージのPythonラッパーです。 Pysha3はCファイルをインポートします。これら2つのファイルのソースコードはthis Github Repositoryにあります。Cコンパイラに必要なPythonプログラムのパッケージ化
パッケージをLambdaプラットフォームにインポートするには、ファイル全体とすべての依存関係を圧縮してアップロードする必要があります。私がこれを行い、アップロード後にパッケージをテストしようとすると、PySha3のパッケージに含まれているCファイルからSha3クラスをインポートできないというエラーが出ます。私自身の研究とトラブルシューティングの結果、プログラムのディレクトリのルートにPysha3ホイールをインストールすることに決めました。これは正しい動きだと思います。しかし、私はこれを行うとき、私は下のエラーを取得:
私は本当に私はホイールがCコンパイラをインストールして、正しくインストールするために取得することができますし、何とか一緒にCコンパイラをパッケージ化することができるかどうかということ願っています私のプログラムでは、ラムダがうまくいくでしょう。私はthis compiler for Pythonを見つけました。私はそれをインストールすることでローカルで自分のエラーが修正され、おそらくzipファイルにそれを含めてLambda AWSのエラーを修正することを期待しています。
私の質問は、私の思考プロセスは有効であると思われますか?同様に、実際に利用されるようにコンパイラをzipファイルに含める方法に関するヒントやガイダンスはありますか?私はこれのすべてにとても新しいので、何かが助けになるでしょう。どうもありがとうございました!
この情報をありがとうございました - 私はここからそれを介して作業しようとします! – Liv
コンパイルしたバイナリをパッケージサイト(https://pypi.python.org/pypi/pysha3)から取り出し、私のWindows PCで7zで解凍し、コンパイルしたバイナリをプロジェクトディレクトリに追加しました。 コンパイル済みのLinuxバイナリを使ってzip形式のプロジェクトディレクトリをアップロードしました!私はpysha3-1.0.2-cp27-cp27m-manylinux1_x86_64.whlを使いました – Meir