You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CLI为IBM Cloud无服务器Python3.9 Action导入Cloudant模块

报错原因

IBM Cloud 无服务器Python 3.9运行时默认不预装cloudant第三方库。你CLI本地的Python 3.8环境之前手动装过cloudant依赖,所以本地跑不报错,云端运行时找不到对应模块就会抛出ModuleNotFoundError。

CLI部署配置步骤
  • 准备部署工作目录
    本地新建空目录作为部署根目录,进入目录后执行命令,把适配Python 3.9、x86架构的cloudant依赖直接安装到当前目录,避免架构/版本不兼容:
    mkdir cloudant-action-demo && cd cloudant-action-demo
    pip3 install --target ./ cloudant --platform manylinux2014_x86_64 --python-version 3.9 --only-binary=:all:
    
  • 修正原有代码并保存为入口文件
    把代码存为目录下的__main__.py,原代码有两个问题要改:一是全局定义的dict变量和函数入参重名会覆盖参数,二是数据库实例没有对应的.json属性直接返回会报错,修正后参考:
    from cloudant.client import Cloudant
    
    def main(params):
        client = Cloudant.iam(
            user_name=params["COUCH_USERNAME"],
            api_key=params["IAM_API_KEY"],
            connect=True
        )
        my_database = client['reviews']
        # 这里替换成你实际需要的文档增删改查逻辑,示例取数据库元信息
        resp = my_database.metadata()
        client.disconnect()
        return {"result": resp}
    
  • 执行CLI命令创建Action
    在部署目录下直接执行创建命令,CLI会自动把当前目录下的代码+依赖打包上传,指定运行时为Python 3.9:
    ibmcloud fn action create cloudant-reviews-op --kind python:3.9 .
    
  • 配置Action鉴权参数
    不要把密钥硬编码在代码里,通过CLI参数注入Cloudant鉴权信息:
    ibmcloud fn action update cloudant-reviews-op --param COUCH_USERNAME "你的Cloudant账号用户名" --param IAM_API_KEY "你的Cloudant IAM密钥"
    
  • 验证运行
    执行调用命令看是否正常返回结果:
    ibmcloud fn action invoke cloudant-reviews-op --result
    

注意点:如果后续要更新代码,直接在目录改完__main__.py后执行ibmcloud fn action update cloudant-reviews-op --kind python:3.9 .即可;如果本地pip装依赖时提示权限问题,加--user参数或者用虚拟环境操作就行。

内容的提问来源于stack exchange,提问作者TAMETA2009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:18:14