我正在测试我已制作的应用程序,其中包括在打开时加载几个.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)
我非常感谢任何建议或指示。
答案 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将在安装过程中自动抓枕头。