在IBM Cloud Functions中的virtualenv中使用PIL时出错:ModuleNotFoundError:没有名为'PIL'的模块

时间:2017-10-28 01:25:59

标签: python ibm-cloud ibm-cloud-functions

我正在尝试使用PIL在Python中定义IBM Cloud Function。

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

img = Image.new('RGB', (width, height))
d = ImageDraw.Draw(img)
...

我使用Pycharm进行开发。在Pycharm中,在我的Python运行时site-packages下,我看到PILPillow-4.3.0:dist-info。当我在Pycharm中本地运行我的代码时,它工作正常。

我使用相同的Python运行时和我的代码构建了一个virtualenv,以便包含不属于Cloud Functions Python运行时的依赖项。检查virtualenv,我可以看到相同的库:

\virtualenv
  \bin
  \include
  \lib
    \python3.6 
      \site-packages
        ...
        \PIL
        \Pillow-4.3.0:dist-info
        ...

但是,当我使用此virtualenv运行时将我的代码作为云函数执行时,我看到一个错误:ModuleNotFoundError: No module named 'PIL'

我认为错误在于我是如何构建我的virtualenv的,但我感到很茫然,因为它看起来像是在那里。

1 个答案:

答案 0 :(得分:0)

好的,我发现了眼前的问题。这是我的部署脚本中的一个简单错误。虽然我的virtualenv内容在本地看起来很好,但我遇到了一个部署错误,导致了我想要部署的内容之外的其他内容。现在,下一个错误:ImportError: cannot import name '_imaging'