函数计算FC怎么临时安装依赖?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在函数代码中直接使用pip install安装
这是最简单的方式,直接在函数执行时使用pip来安装需要的依赖。
python
Copy
import pip
def handler():
pip.main(['install', 'numpy'])
函数执行前通过entrypoint.sh脚本安装依赖
在 deployed函数时,运行安装依赖的shell脚本。
bash
Copy
pip install numpy
gunicorn --bind 0.0.0.0:8080 app:app
使用requirements.txt文件安装依赖
提前创建好依赖列表,部署函数时一起上传。
函数计算环境读取requirements.txt并自动安装依赖。
Copy
numpy==1.20.3
pandas==1.2.4
通过环境变量指定依赖版本
如果函数计算供应商支持,可以通过环境变量指定特定版本号的依赖。
缺点是需要改变函数代码。
采用上述方法的好处是:
能在函数运行时临时安装依赖
随即被删除,不会影响其他函数
在函数重新部署时, Dependencies会被重置
一般建议使用pip install直接安装或者requirements.txt文件,更方便管理。
需要注意的是:
不要在函数中安装任何外部依赖,可能影响安全
不要安装相同名称但不同版本的依赖
尽量使用官方pypi仓库的依赖
临时依赖安装解决方案,后续新版本会支持该功能
以安装 rich 依赖为例:
在您管理工具的域名后添加 /terminal 如 admin.xxxxxxxxx.fc.devsapp.net/terminal
只需要执行一次
echo "export PYTHONPATH=/mnt/auto/sd/python" > /mnt/auto/sd/startup.sh
安装插件
/opt/python3.10/bin/python3.10 -m pip install -t /mnt/auto/sd/python rich
每个插件需要哪些依赖可以从插件目录的 install.py 查到
等待实例轮转后,重新进入 sd 页面
可以进入 sd 函数任意修改下环境变量(如 a=b),强制实例更新。此回答整理自钉群“【答疑群】函数计算 AIGC 场景技术交流”