【问题标题】:Not Able to import PIL in Sikuli无法在 Sikuli 中导入 PIL
【发布时间】:2012-11-09 09:36:45
【问题描述】:

我想在 Sikuli 中导入 PIL 为此我添加了下面的代码

import sys
sys.path.append("C:\\Python27\Lib\site-packages")
sys.path.append("C:\\Python27\Lib\site-packages\PIL")

import PIL
import Image

所以它导入了上述模块,但是当我尝试导入 ImageFont 时,它给了我以下错误:

def getmask2(self, text, mode="", fill=Image.core.fill):
File "C:\Python27\Lib\site-packages\PIL\Image.py", line 39, in __getattr__
raise ImportError("The _imaging C module is not installed")
ImportError: The _imaging C module is not installed

我能够在 Python 脚本中成功导入 PIL 和 Image 和 ImageFont,并且代码运行良好。 知道如何解决这个问题吗?

【问题讨论】:

  • 似乎没有安装 PIL 的 C 库部分。你是如何安装 PIL 的?
  • 我使用 PIL-fork-1.1.7.win-amd64-py2.7 二进制文件从该站点安装 PIL:lfd.uci.edu/~gohlke/pythonlibs

标签: python sikuli


【解决方案1】:

Sikuli IDE 使用 Jython,因此安装到本地 Python 版本的包将无法在 Sikuli IDE 中导入,并且 Jython 不支持 c 扩展,据我所知 PIL 需要哪些(请参阅http://bugs.jython.org/issue1388 )。

我认为您需要使用 Java 库,可能是 ImageJ 之类的东西(请参阅 http://fiji.sc/wiki/index.php/Jython_Scripting

【讨论】:

  • 谢谢,我使用 Java 库来处理图像,它按预期工作。
【解决方案2】:

由于以下(我认为有价值的信息)被拒绝作为对原始问题的编辑(我的意图:人们应该首先看到这一点),我现在把它作为答案:

我想补充: 只要 Python 模块仅包含 Python 代码,就可以在 Jython/Sikuli 脚本中导入它们。有许多为 Python 编写的模块都满足这种条件(例如 xlrd、xlwt)。但正如正确提到的:PIL 包含基于 C 的东西,这通常可以不加载(JNI 库除外)(因此上述错误消息是正确的,但可能会导致错误的方向)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2020-04-26
    • 1970-01-01
    • 2022-01-09
    • 2018-09-17
    • 2021-02-12
    • 2021-03-07
    相关资源
    最近更新 更多