我有一个运行 Python 的自动缩放 Elastic Beanstalk 应用程序,我想在其中使用 PIL。当我这样做时,它说我的 jpeg 解码器丢失,我需要安装 libjpeg。
所以我在这里遵循AWS官方指南的“配置文件”:
- http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
- http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html#customize-containers-format
但我无法让它工作。
如果我正确理解指南,我应该设置一个名为.ebextensions
在我的应用程序文件夹中。在我的 .ebextensions 中,我应该设置一个 foo.config 文件。就我而言,我将其命名为python.config
.
在这个文件中我应该执行命令。我的 .config 文件的代码是:
packages:
yum:
libjpeg-devel: '6b'
我部署了我的应用程序,我可以在日志快照中看到它的膨胀并创建文件,如下所示:
-------------------------------------
/var/log/eb-tools.log
-------------------------------------
creating: /opt/python/ondeck/app/.ebextensions/
inflating: /opt/python/ondeck/app/.ebextensions/python.config
inflating: /opt/python/ondeck/app/application.py
...
但是,我找不到有关实际执行命令的任何信息。我一直在我的日志中搜索“yum”、“python.config”、“jpeg”、“libjpeg”等,但没有任何相关痕迹。我重新启动应用程序服务器,但仍然收到相同的消息,说 libjpeg 丢失。
我看到其他人问类似的问题,关于配置文件不起作用。但我还没有看到任何答案。
我遇到了同样的问题,我没有设置全新的 Elastic Beanstalk 应用程序,而是通过 SSH 连接到 EC2 实例并重新安装了 PIL(或 Pillow)。
在 EC2 实例上,我运行了以下命令:
source /opt/python/run/venv/bin/activate
pip uninstall PIL
pip install PIL
现在PIL支持jpeg编码 =)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)