【问题标题】:lxml not getting installed on AWS Elasticbeanstalk instancelxml 未安装在 AWS Elasticbeanstalk 实例上
【发布时间】:2016-01-01 21:38:21
【问题描述】:

我在代码中使用了 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

它在一个实例上一次工作,但在一个新实例上什么都行不通。需要你的帮助。

【问题讨论】:

    标签: python amazon-web-services lxml


    【解决方案1】:

    首先,使用更新 debian 包

    sudo apt-get update
    

    使用安装

     sudo apt-get install python-lxml
    

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

    pip install lxml
    

    【讨论】:

    • 其实我们在centos
    • 所以,可以是"yum install python-lxml"
    • yum update 设置语言环境失败,默认为 C 加载插件:priorities, update-motd, upgrade-helper 没有标记为更新的包。
    【解决方案2】:

    您可以在 .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

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 2018-04-14
      • 2015-12-22
      • 2020-11-01
      • 2015-02-25
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      相关资源
      最近更新 更多