在AWS lambda上安装python包

时间:2016-10-06 15:48:06

标签: python amazon-web-services pip aws-lambda psycopg2

我已经部署了zipped项目而没有psycopg2包。我想在我的lambda上安装此软件包而无需重新上传我的固定项目(我现在无法访问我的项目)。如何在package上安装此lambda?可以使用pip吗?

2 个答案:

答案 0 :(得分:0)

pip无法做到这一点。您必须将依赖项添加到压缩的Lambda部署文件中。您无法在不上传新的压缩部署文件的情况下修改Lambda部署。

答案 1 :(得分:0)

无法直接在lambda上使用 pip 。相反,我使用自定义构建脚本来创建zip包[这可以给你一个简短的想法 - 它当然可以变得更简单]

rm -rf ~/devops/tempenv > /dev/null
virtualenv ~/devops/tempenv
source ~/devops/tempenv/bin/activate
pip install SlackClient
pip install PyYaml
deactivate
rm -rf temp > /dev/null
mkdir temp
rm aws-lambda.zip > /dev/null
cp -r ~/devops/tempenv/lib/python2.7/site-packages/* temp/
cp *.py temp
cd temp
zip -r aws-lambda.zip .
mv aws-lambda.zip ../
cd ..
rm -rf temp
rm -rf ~/devops/tempenv