函数计算FC怎么临时安装依赖?

函数计算FC怎么临时安装依赖?

展开
收起
三分钟热度的鱼 2023-08-02 10:43:08 89 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在函数代码中直接使用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仓库的依赖

    2023-08-03 18:45:03
    赞同 展开评论
  • 临时依赖安装解决方案,后续新版本会支持该功能
    以安装 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 场景技术交流”

    2023-08-02 11:00:56
    赞同 展开评论

快速交付实现商业价值。

还有其他疑问?
咨询AI助理