2016-10-06 53 views
0

我已经部署了我的zipped项目,但没有psycopg2包。我想在我的lambda上安装此软件包,而无需重新上传我的固定项目(我目前还无法访问我的项目)。我如何在lambda上安装package?是否有可能通过pip做到这一点?在AWS上安装python包lambda

回答

0

这是不可能与pip。您必须将依赖项添加到您的压缩Lambda部署文件。如果不上传新的压缩部署文件,则无法修改Lambda部署。

+0

和你会被重新上传你的代码中的许多其他时间。所以给自己写一个部署脚本 – Marcom

0

直接在lambda上使用pip是不可能的。而是我用一个自定义生成脚本来创建压缩包[这可以给你一个简单的想法 - 它当然可以进行简单得多]

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