PIL ImageTK无法在py2app应用程序包中加载图像

时间:2015-10-23 12:57:35

标签: python-3.x osx-lion pillow py2app

我正在测试我已制作的应用程序,其中包括在打开时加载几个.png图像。图像在我的Mac(10.7.5)和我母亲(10.8.5)上正确显示;然而,当我的妹妹在她的手上打开它时(10.9.5),图像不会加载。其他所有功能都完好无损。我应该注意到,在我的Mac和我的母亲身上,我安装了Python 3.4和应用程序使用的许多软件包,包括PIL软件包,而我姐姐没有这些软件包。该应用程序是使用以下命令构建的:

python3.4 setup.py py2app

图片导入代码中:

image = ImageTk.PhotoImage(file = "images/pic.png")

py2app的设置文件如下:

from setuptools import setup

APP = ['myapp.py']
DATA_FILES = [('', ['images'])]

OPTIONS = {'iconfile': 'myapp.icns', 'packages': ['PIL']}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

我猜这是PIL的一个问题,它似乎并不想与py2app很好地配合。我认为它的PIL的原因是因为在运行命令构建我的应用程序后,我在终端中收到以下错误消息。

Modules not found (conditional imports):
* Image (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/py2app/recipes/PIL/prescript.py)

我非常感谢任何建议或指示。

1 个答案:

答案 0 :(得分:0)

如果要构建需要安装其他软件包的python软件包,则可以使用setup see docs中的 val broadcastVar = sc.broadcast(rdd.collect()) rdd_line.mapPartitions(p=> { var brd = broadcastVar.value var result = new ListBuffer[Double]() brd.foreach(b => { p.foreach(e => result+= myfunction(b ,e)) }) result.toList.toIterator }) 关键字。当用户运行pip install py2app时,这具有安装软件包的额外好处。在你的情况下,我会使用install_requires = ['pillow'],pip将在安装过程中自动抓枕头。