【问题标题】:Need OSX virtualenv to download .so in addition to .dylibs除了 .dylibs 之外,还需要 OSX virtualenv 来下载 .so
【发布时间】:2018-01-14 11:25:08
【问题描述】:

我正在为 AWS Lambda 创建一个部署包。在将软件包安装到 virtualenv 后,Lambda 需要压缩 '$VIRTUALENV/lib/python2.7/site-packages' 文件夹中包含的所有内容。

当我在 linux 机器上执行此过程时,它运行顺利。
但是当我从 Mac (Mac Sierra) 重复这个过程时,我遇到了一个小问题。
当我执行pip install Pillow 时,Mac 下载.dylibs 而不是.so。 因此在 Lambda 上的部署失败。

我已验证,如果我将 linux 机器上的 .so 用于 Pillow 包,它可以在 AWS 上运行。

在 Mac 上使用 virtualenv 时,除了 .dylibs 之外,还有什么方法可以下载 .so?这将允许我将包从 Mac 无缝部署到 AWS Lambda。

我的项目有点大。而且 Pillow 并不是我可能需要的唯一遇到此类问题的软件包。

【问题讨论】:

    标签: python macos pip virtualenv aws-lambda


    【解决方案1】:

    virtualenv 下载与用于运行它的 Python 解释器一起工作的包。据我所知,没有将包交叉编译到其他架构的选项。

    您无法在 OSX 上本地运行 Linux 解释器,因此您需要使用 Linux 机器(真实机器、容器或虚拟机)来构建正确的virtualenv。

    可能最无缝的解决方案是容器(例如Docker for Mac)。 然后,您可以将工作目录挂载到合适的容器中,并为 Linux 容器创建一个并行的virtualenv。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-08
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多