, .spec pyinstaller, (.spec .) .spec "datas":
block_cipher = None
a = Analysis(['pubdata.py'],
pathex=['.', '/interface','/recommender'],
binaries=None,
datas=[('WordNet/*.txt','WordNet'),
('WordNet/*.json','WordNet'),
('WordNet/pdf_parsing/*.json','pdf_parsing'),
('WordNet/pdf_parsing/*.xml','pdf_parsing'),
('images/*.png','images'),
('database/all_meta/Flybase/*.txt','all_meta'),
('database/all_meta/Uniprot/*.txt','all_meta'),
('database/json_files/*.json','json_files'),
('Data.db','.')],
hiddenimports=['interface','recommender'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='GUI',
debug=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='GUI')
app = BUNDLE(coll,
name='App.app',
icon=None)
, , .spec, Pyinstaller _MEIPASS . Data.db:
import sys
import os.path
if hasattr(sys, "_MEIPASS"):
datadir = os.path.join(sys._MEIPASS, 'Data.db')
else:
datadir = 'Data.db'
conn = lite.connect(datadir)
, :
conn = lite.connect("Data.db")
, :
https://irwinkwan.com/2013/04/29/python-executables-pyinstaller-and-a-48-hour-game-design-compo/
, !