我一直在开发一个需要使用pyinstaller加载数据文件(png文件和pot文件)的应用程序,并且我一直在跟踪临时文件夹的文件,由于某种原因,数据文件没有添加到临时文件夹中。我制作了一个小模块来跟踪目录,如下所示:
import os, sys
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
我还修改了规范文件:
a = Analysis(['mks_controller.py'],
pathex=['C:\\pyinstaller-2.0\\pyinstaller-2.0'],
hiddenimports=[],
hookspath=None)
a.datas += [('presentation.potx','C:\\pyinstaller-2.0\\pyinstaller-2.0\\bbpresentation.potx','DATA'),('splat.png','C:\\pyinstaller-2.0\\pyinstaller-2.0\\splat.png', 'DATA'),('logo.png','C:\\pyinstaller-2.0\\pyinstaller-2.0\\logo.png','DATA')]
pyz = PYZ(a.pure)
我使用以下两个命令构建了 exe:
pyinstaller.py --onefile filename.py
pyinstaller.py --onefile filename.spec
并且数据文件没有加载到目录中。我还尝试运行显示此目录中所有文件的日志,但未显示数据文件。这是它的屏幕截图:
http://imgur.com/delete/qIff0zZT2Y4ZdKT
我正在使用 python 2.7 和 pyinstaller 2.0。任何人都知道问题是什么?提前致谢!