lxml 未安装在 AWS Elasticbeanstalk 实例上

lxml not getting installed on AWS Elasticbeanstalk instance

我在我的代码中使用了 lxml 模块来解析 AWS 响应。在本地它工作得很好,但是当我将它部署到 AWS elasticbean 实例时,它会针对 lxml 抛出错误。我尝试了这些解决方案:

  1. 包含 lxmlrequirements.txt 但失败了。

  2. 我访问了 AWS 实例 n 试图直接安装它但失败了。

  3. 我把下面一行放在.ebextensions/02_python.config.

    09_lxml: 命令:"wget http://lxml.de/files/lxml-3.3.4.tgz && tar -xzvf lxml-3.3.4.tgz && cd lxml-3.3.4 && /opt/python/run/venv/bin/python setup.py install"

    #命令:"echo 'hello'"

    leader_only: 真

它在一个实例上一次工作,但在一个新实例上没有任何工作。需要您的帮助。

首先,使用

更新 debian 软件包
sudo apt-get update

使用

安装
 sudo apt-get install python-lxml

使用 apt-get install ,安装 lxml 的所有依赖项。然后,您也可以使用 pip 安装 lxml

pip install lxml

您可以在 .ebextensions 文件夹中创建一个附加文件,使用 yum 安装必要的库。您要使用的 "key"(AWS 术语)是 packages:

packages:
  yum:
    libxml2: []
    libxml2-devel: []
    libxslt: []
    libxslt-devel: []

这会指示部署脚本在您的应用首次部署时使用 yum 安装这些包。

它在处理 requirements.txt 文件之前运行,因此当指示 pip 安装 lxml 时,它应该具有必要的库。

有关详细信息,请参阅 Customizing Software on Linux Servers 上的 AWS 文档。

我相信上面列出的包是 lxml 的唯一要求,但是 read up carefully in lxml's online documentation to be certain