python - 为 AWS Lambda 打包 Python Pipenv 项目

标签 python aws-lambda pipenv

我有一个 python 项目,我正在使用 pipenv 来处理 deps。

我需要创建一个包含源代码和所有依赖代码的 zip 文件。我需要此 zip 文件以将其上传到 AWS Lambda。

当使用 pipenv 时,它会在计算机的某处下载依赖库,但为了项目的打包/分发,我需要将所有必要的代码包含在同一个地方(一个 zip 文件)。

有没有办法运行 pipenv 并将其设置为在特定路径安装依赖项?如果没有,有人知道这些依赖项在我的机器中的位置吗?

谢谢

最佳答案

这对我有用:

#!/bin/bash

# this is b/c pipenv stores the virtual env in a different
# directory so we need to get the path to it
SITE_PACKAGES=$(pipenv --venv)/lib/python3.6/site-packages
echo "Library Location: $SITE_PACKAGES"
DIR=$(pwd)

# Make sure pipenv is good to go
echo "Do fresh install to make sure everything is there"
pipenv install

cd $SITE_PACKAGES
zip -r9 $DIR/package.zip *

cd $DIR
zip -g package.zip posts.py

我专门用 numpy 试过它,它工作正常。它还包含 .so 文件,这很棒,因为一切都是独立的。

关于python - 为 AWS Lambda 打包 Python Pipenv 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51679863/

相关文章:

python - 如何缩小 AWS Lambda 层的大型 python 包?

python - 为什么 pipenv 无法在 docker 容器中安装包

python - 解决错误 104 和 Twitter 速率限制

python - 使用 AWS Lambda 从 S3 读取 csv 并插入到 MySQL 表中

python - 如何避免 AWS API Gateway 和 Lambda 超时?

python - 如何通过systemd使用用户的pipenv? Python是通过SCL安装的

python - docker中的pipenv安装包失败

python - 如何通过 python 在 imgbb.com 中发布图像?

python - 如何在每次请求 Flask 时重新加载配置文件?

python - 如何在python中获得正则表达式的第一个匹配项