我在代码中使用了 lxml 模块来解析AWS响应。本地它工作得很棒,但是当我将它部署到AWS elasticbean实例时,它会抛出针对lxml的错误。我试过这些解决方案:
将 lxml 包含在 requirements.txt 中,但失败了。
我访问过AWS实例n尝试直接安装它并且失败了。
我将以下行放在.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“
leader_only:true
它在一个实例上运行一次,但在一个新实例上没有任何东西可以工作。需要你的帮助。
答案 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