我正在部署和使用弹性beanstalk。当我做eb创建时,我得到你的requirements.txt是无效的,当我仔细观察时,我得到两个错误
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
error: command 'gcc' failed with exit status 1
我不知道自己可以做些什么,我试过了
卸载枕头
然后sudo apt-get install libjpeg-dev
安装pillow
回来了
和pip install lxml
我试过
sudo apt-get install libxml2-dev libxslt1-dev python-dev
和
apt-get install libxml2-dev libxslt1-dev python-dev
我只想部署我所拥有的东西,但这个枕头的东西是抓住我的脚踝,请你帮助我
我在这里可能需要做什么吗?
packages:
yum:
git: []
postgresql93-devel: []
libjpeg-turbo-devel: []
libpng-devel: []
freetype-devel: []
container_commands:
01_migrate:
command: "source /opt/python/run/venv/bin/activate && python ebagu/manage.py migrate --noinput"
leader_only: true
02_createsu:
command: "source /opt/python/run/venv/bin/activate && python ebagu/manage.py createsu"
leader_only: true
03_collectstatic:
command: "source /opt/python/run/venv/bin/activate && python ebagu/manage.py collectstatic --noinput"
04_uninstall_pil:
command: "source /opt/python/run/venv/bin/activate && yes | pip uninstall Pillow"
05_reinstall_pil:
command: "source /opt/python/run/venv/bin/activate && yes | pip install Pillow --no-cache-dir"
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "app.settings"
"PYTHONPATH": "/opt/python/current/app/app:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: app/app/wsgi.py
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"
答案 0 :(得分:1)
亚马逊的弹性beanstalk目前不支持apt-get软件包管理器,因此必须使用默认的yum
,如配置文件中所示。如果您使用
sudo yum install libxml2-devel libxslt-devel libjpeg-turbo-devel
(另请注意不同的包名称)。或者最好作为配置文件的补充,以便在部署时根据需要安装它们。
packages:
yum:
# Your other non-python packages
libxml2-devel: []
libxslt-devel: []
libjpeg-turbo-devel: []
答案 1 :(得分:0)
尝试使用Ubuntu:
sudo apt-get install -y libxml2-dev libxslt1-dev zlib1g-dev python3-pip
答案 2 :(得分:0)
尝试在使用Elastic Beanstalk(AMI 2017.03)部署的EC2实例中安装lxml
时,我遇到了完全相同的错误,就像在原始问题中一样。问题只发生在Python 3.5上,使用Python 2.7我可以毫无困难地安装它。
就我而言,问题是没有安装GCC。做sudo yum install gcc
解决了它。
我认为问题在于Amazon AMI存储库不包含libxml2的Python 3绑定的二进制包。 Python 2.6和2.7(python2X-lxml
)的绑定是可用的,这就是为什么一切都与Python 2开箱即用的原因。但是当使用pip-3.5
时,pip找不到它们并尝试从而安装它们来源,此时需要GCC。
我的弹性beanstalk配置文件的packages
部分如下所示:
packages:
yum:
gcc: []
python35: []
python35-pip: []
python35-devel: []
libxml2-devel: []
libxslt-devel: []