我一直在研究一個需要使用pyinstaller加載數據文件(PNG文件和鍋文件)的應用程序,並且我一直在跟蹤臨時文件夾的文件,數據文件不會添加到出於某種原因,臨時文件夾。我做了一個小模塊,以保持其作爲後續目錄的軌跡:使用pyinstaller2.0加載數據文件
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和2.0 pyinstaller。任何人都知道問題是什麼?提前致謝!
我不認爲你可以做--onefile和其他任何東西--onefile; P ...你將不得不手動將資源放在同一個地方,並可能創建一個zip或其他東西(我可能是錯的.. 。) –