lxml未安装在AWS Elasticbeanstalk实例上

时间:2015-10-05 09:21:24

标签: python amazon-web-services lxml

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

  1. lxml 包含在 requirements.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“

    #command:“echo'hello'”

    leader_only:true

  4. 它在一个实例上运行一次,但在一个新实例上没有任何东西可以工作。需要你的帮助。

2 个答案:

答案 0 :(得分:4)

您可以在.ebextensions文件夹中创建一个使用yum安装必要库的附加文件。 "键"您要使用的(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

答案 1 :(得分:0)

首先,使用

更新debian软件包
sudo apt-get update

使用

安装
 sudo apt-get install python-lxml

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

OR

pip install lxml