栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Amazon Lambda中使用moviepy,scipy和numpy

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Amazon Lambda中使用moviepy,scipy和numpy

在此线程中的所有帖子的帮助下,这里是记录的解决方案:

要使其正常工作,您需要:

  1. EC2
    用至少2GO RAM启动一个实例(以便能够编译
    NumPy
    SciPy

  2. 安装所需的依赖项

    sudo yum -y update

    sudo yum -y upgrade
    sudo yum -y groupinstall “Development Tools”
    sudo yum -y install blas –enablerepo=epel
    sudo yum -y install lapack –enablerepo=epel
    sudo yum -y install Cython –enablerepo=epel
    sudo yum install python27-devel python27-pip gcc
    virtualenv ~/env
    source ~/env/bin/activate
    pip install scipy
    pip install numpy
    pip install moviepy


  3. 将目录中所有目录的内容(_markerlib,pip ,pkg_resources,setuptools 和easyinstall *除外)复制到您的语言环境计算机中

    stack

    • home/ec2-user/env/lib/python2.7/dist-packages
    • home/ec2-user/env/lib64/python2.7/dist-packages
    • 从您的

      EC2
      实例获取所有必需的共享库:

    • libatlas.so.3

    • libf77blas.so.3
    • liblapack.so.3
    • libptf77blas.so.3
    • libcblas.so.3
    • libgfortran.so.3
    • libptcblas.so.3
    • libquadmath.so.0
    • 将它们放在
      lib
      文件夹的子
      stack
      文件夹中
  4. imageio
    是的依赖项
    moviepy
    ,您需要下载其依赖项的一些二进制版本:
    libfreeimage
    ffmpeg
    ;他们可以在这里找到。将它们放在堆栈文件夹的根目录并重命名
    libfreeimage-3.16.0-linux64.so
    libfreeimage.so

  5. 您现在应该拥有一个

    stack
    包含以下内容的文件夹:

    • 根目录下的所有python依赖项
    • lib
      子文件夹中的所有共享库
    • ffmpeg
      根目录二进制
    • libfreeimage.so
      根源
    • 压缩此文件夹:
      zip -r9 stack.zip . -x ".*" -x "*/.*"
  6. 使用以下内容

    lambda_function.py
    作为您的入口点
    lambda

    from __future__ import print_function

    import os
    import subprocess

    script_DIR = os.path.dirname(os.path.abspath(file))
    LIB_DIR = os.path.join(script_DIR, ‘lib’)
    FFMPEG_BINARY = os.path.join(script_DIR, ‘ffmpeg’)

    def lambda_handler(event, context):
    command = ‘LD_LIBRARY_PATH={} IMAGEIO_FFMPEG_EXE={} python movie_maker.py’.format(
    LIB_DIR,
    FFMPEG_BINARY,
    )
    try:
    output = subprocess.check_output(command, shell=True)
    print(output)
    except subprocess.CalledProcessError as e:
    print(e.output)

  7. 写一个

    movie_maker.py
    依赖于脚本
    moviepy
    numpy

  8. 将这些脚本添加到您的stack.zip文件中

    zip -r9 lambda.zip *.py

  9. 上载zip

    S3
    并将其用作您的源
    lambda

您也可以在

stack.zip
此处下载。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/420005.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号