我有一个python项目,正在使用pipenv处理deps。
我需要创建一个包含源代码和所有依赖项代码的zip文件。我需要此zip文件才能将其上传到AWS Lambda。
使用pipenv时,它会将依赖库下载到计算机中的某个位置,但是为了打包/分发项目,我需要将所有必需的代码包含在同一位置(一个zip文件)。
是否可以运行pipenv并将其设置为在特定路径上安装依赖项?如果不是,是否有人知道这些依赖项在我的计算机中的位置?
谢谢
答案 0 :(得分:5)
这对我有用:
#!/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文件,这很好,因为所有内容都是自包含的。