使用Python Flexible Environment在virtualenv中包含Google Cloud SDK

时间:2017-07-21 12:40:05

标签: python google-app-engine google-cloud-platform virtualenv pillow

我想使用google.appengine.api图片包,但我不知道如何为virtualenv安装工具。当我在普通环境中使用dev_appserver.py时,该包工作正常,但是当我使用带有烧瓶的灵活环境时,它无法找到包。有没有办法将图像库添加到我的virtualenv中?

当我在将图像上传到服务器之前尝试使用Pillow调整图像大小时,但是当我这样做时图像将在0B处到达云存储。

if file and allowed_file(file.filename):
    filename = '%s_%s.jpg' % (item.id, len(item.photos))
    # Resize file using pillow
    image = Image.open(file)
    image.thumbnail((300,300)
    resized_image = io.BytesIO()
    image.save(resized_image, format='JPEG')
    # if I did a image.show() here the image would 
    # properly be shown resized
    gcs = storage.Client()
    bucket = gcs.get_bucket(CLOUD_STORAGE_BUCKET)
    blob = bucket.blob(filename)

    blob.upload_from_file(resized_image,
        content_type=file.content_type)
    # I would then view the image in the bucket and it shows up as 0 bytes
    # and blank
    # If I just use the regular file it uploads fine.

1 个答案:

答案 0 :(得分:2)

您可能运气不好,图像服务在标准环境之外无法使用。

来自Migrating Services from the Standard Environment to the Flexible Environment

  

图像服务不在标准范围之外   环境。但是,您可以直接从您的图像中轻松提供图像   应用程序或直接从云存储。

     

如果您需要进行图像处理,可以安装和使用任何图像   处理库,例如Pillow

     

Images服务还提供了避免动态的功能   通过使用a处理图像大小调整来请求您的应用程序   提供网址。如果您想要类似的功能,可以生成   提前重新调整图像大小并将其上传到Cloud Storage for   服务。或者,您可以使用第三方内容传送   提供图像大小调整的网络(CDN)服务。

     

有关更多资源,请参阅以下指南: