开发者社区> 问答> 正文

无服务器框架-Python和Requirements.txt

使用无服务器框架v1.0.0,我在服务根目录中有一个“ requirements.txt”,其内容为相关python软件包的列表。(例如请求)。

但是我得到的部署功能失败了,因为似乎这些依赖关系没有作为包装的一部分安装

'无法导入模块'处理程序':没有名为请求的模块'

我假设pip可以安装在无服务器上,但是我生成的zip文件很小,很明显它没有这样做,无论是设计还是我的错,因为我缺少某些东西?是因为它的Lambda能够做到这一点吗?如果是这样,我想念什么?)

是否有关于执行此操作所需的文件以及其工作方式的文档?pip安装这些文件是无服务器的还是在AWS Lambda方面?

展开
收起
祖安文状元 2020-02-22 15:25:13 909 0
1 条回答
写回答
取消 提交回答
  • 您需要安装serverless-python-requirements和泊坞窗

    $ npm install serverless-python-requirements
    
    

    然后将以下内容添加到您的 serverless.yml

    plugins:
       - serverless-python-requirements
    
    custom:
      pythonRequirements:
         dockerizePip: non-linux
    
    

    确保在CLI中激活了python虚拟环境:

    $ source venv/bin/activate
    
    

    使用pip安装任何依赖项-请注意,在CLI中,您可以通过venv终端文本左侧的来判断venv是否处于活动状态

    (venv) $ pip install <NAME>
    (venv) $ pip freeze > requirements.txt
    
    

    确保已打开docker,然后照常部署无服务器

    $ serverless deploy
    
    

    将会发生的事情是,serverless-python-requirements将使用lambda环境在docker中构建python软件包,然后将其压缩以准备好与其余代码一起上传。

    2020-02-22 15:25:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载