我在AWS弹性豆茎下处理Python上的jpeg文件时遇到了一些麻烦。
我在.eb扩展/蟒蛇.config文件上有这个:
packages:
yum:
libjpeg-turbo-devel: []
libpng-devel: []
freetype-devel: []
...
所以我相信我已经安装并运行了libjpeg(我试过libjpeg-devel,但是yum找不到这个包)。
另外,我requirements.txt:
Pillow==2.5.1
...
所以我相信我已经安装了枕头,并在我的环境中工作。
然后,因为我有枕头和libjpeg,所以我尝试使用PIL做一些工作。在Python脚本中映像并保存到文件。这样地:
from PIL import Image
def resize_image(image,new_size,crop=False,correctOrientationSize=False):
assert type(new_size) == dict
assert new_size.has_key('width') and new_size.has_key('height')
THUM_SIZE = [new_size['width'],new_size['height']]
file_like = cStringIO.StringIO(base64.decodestring(image))
thumbnail = Image.open(file_like)
(width,height) = thumbnail.size
if correctOrientationSize and height > width:
THUM_SIZE.reverse()
thumbnail.thumbnail(THUM_SIZE)
if crop:
# Recorta imagem
thumbnail = crop_image(thumbnail)
output = cStringIO.StringIO()
thumbnail.save(output,format='jpeg')
return output.getvalue().encode('base64')
但是,当我尝试在Elastic Beansta k的实例上运行它时,当它调用. sav()方法时出现异常“解码器jpeg不可用”。
如果我将SSH连接到我的实例中,它工作正常,并且我已经尝试重建环境。
我做错了什么?
更新:
按照建议,我再次进入实例并通过pip(/opt/python/run/venv/bin/pip)重新安装Pillow,而不是在我确定libjpeg-devel在Pillow之前就已经在环境中了。
我运行 selftest.py,它证实了我对jpeg的支持。因此,在最后一次尝试中,我转到了弹性豆茎界面上的“重新启动应用程序服务器”。成功了。
谢谢大家。
按照建议,我再次进入实例并通过pip(/opt/python/run/venv/bin/pip)重新安装Pillow,而不是在我确定libjpeg-devel在Pillow之前就已经在环境中了。
我运行了selftest.py,它确认我支持jpeg。所以,在最后一次尝试中,我转到弹性豆茎界面上的“重新启动应用服务器”。它起作用了。
根据这里的一般建议,我通过在我的. eb扩展配置中添加以下内容并重新部署来解决这个问题。
packages:
yum:
libjpeg-turbo-devel: []
libpng-devel: []
freetype-devel: []
container_commands:
...
05_uninstall_pil:
command: "source /opt/python/run/venv/bin/activate && yes | pip uninstall Pillow"
06_reinstall_pil:
command: "source /opt/python/run/venv/bin/activate && yes | pip install Pillow --no-cache-dir"
我正在弹性豆茎上开发一个Django后端系统。 当我上传JPEG图像文件时,我得到错误:解码器JPEG不可用。正在上载。png图像文件不会引起任何问题。 后端环境: AWS beanstalk:64位Amazon Linux 2014.03 v1.0.4运行Python 2.7 python:2.7 pip包列表Django==1.6.5降价==2.4.1 MySQL python==1.2.5枕
配置验证异常:AWS Elastic Beanstatk无法与Amazon EC2通信以确定是否为Elastic Load均衡创建自定义安全组。 在创建AWS Elastic Beanstalk应用程序时,我在尝试继续“查看和启动”时遇到了这个错误。我是新手。请帮忙。
我是AWS的新手,这个问题似乎很基本。然而,我需要看看我是否能找到解决方案。 我首先创建并启动了一个 EC2 实例,然后创建了一个弹性 Beanstalk 实例,并在该实例上部署了一个示例应用程序。默认情况下,弹性 Beanstalk 会将“默认环境”附加到此实例,我无法将其更改为我的 EC2 实例。如何将我的 EC2 实例(我之前创建的实例)附加到此弹性豆茎实例?我正在使用亚马逊免费套餐来学习。
我可以用超文本传输协议浏览网站,但不能用https,我ChromeERR_CONNECTION_REFUSED。 我的环境是Nodejs(64bit AmazonLinux2015.09 v2.0)上的ExpresJS服务器,运行在Elastic Beanstalk上。我可以在端口80上telnet到EC2弹性公共IP,但在端口443上无法telnet,连接被拒绝。 设置 HTTPS 的步骤 >
我使用WindowsPowerShell创建了一个弹性Beanstalk环境,并遵循以下部署文档将Django应用程序部署到弹性Beanstalk 我完成了以下步骤:使用Django的Python虚拟环境, 创建了django项目, 创建IAM用户我获得了访问密钥ID和机密访问密钥ID 失败此步骤环境并部署您的Django应用程序 当我尝试it询问访问密钥、秘密访问密钥和区域aws应用程序自动生成
有人知道在弹性豆茎中传递一个秘密值作为环境变量是可能的吗?另一个选择显然是在我们的代码库中使用sdk,但我想先探讨环境变量方法 干杯Damien