【问题标题】:PIL ImageTK not loading image in py2app application bundlePIL ImageTK 未在 py2app 应用程序包中加载图像
【发布时间】:2015-10-23 12:57:35
【问题描述】:

我正在测试我制作的一个应用程序,该应用程序在打开时会加载几个 .png 图像。图像在我的 Mac (10.7.5) 和我妈妈的 (10.8.5) 上正确显示;但是,当我姐姐在她的(10.9.5)上打开它时,图像不会加载。所有其他功能都完好无损。我应该注意,在我的 Mac 和我母亲的 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)

如果您有任何建议或指导,我将不胜感激。

【问题讨论】:

  • 我遇到了同样的错误,如果我发现了什么,我会在这里发布
  • 如果您从 Pillow 库安装 Image,您应该安装它的方式是 from PIL import Image。你姐姐的电脑很可能有更新版本的python,所以这是安装它的方式,任何其他方式都会引发错误

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


【解决方案1】:

如果您正在构建一个需要安装其他包的 python 包,您可以在设置see docs 中使用install_requires 关键字。这具有在用户运行 pip install py2app 时安装软件包的额外好处。在你的情况下,我会使用 install_requires=['pillow'] 并且 pip 会在安装过程中自动抓取枕头。

【讨论】:

    猜你喜欢
    • 2021-10-01
    • 2019-08-13
    • 2019-05-10
    • 2016-08-26
    • 1970-01-01
    • 2020-09-16
    • 2015-02-05
    • 2020-12-14
    相关资源
    最近更新 更多