Reputation: 714
I have successfully edited my spec file and added the folder with my data to it. It builds fine but it still can't access the data. WHen i try to run the compiled .exe i get this error: Error loading Python DLL: C:\Users\Sal\AppData\Local\Temp\_MEI60122\python27.dll (error code 126)
EDIT 1 - I still don't have this figured out my spec file looks like this:
a = Analysis(['Clock_In.py'],
pathex=['C:\\Users\\Sal\\Desktop'],
hiddenimports=[],
hookspath=None,
runtime_hooks=None)
a.datas += [('CO_time.pkl','CO_time.pkl', 'DATA')]
a.datas += [('hours.pkl','hours.pkl', 'DATA')]
a.datas += [('Obj_file.pkl','Obj_file.pkl', 'DATA')]
a.datas += [('weekly_hours_dict.pkl','weekly_hours_dict.pkl', 'DATA')]
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.datas,
a.binaries,
a.scripts,
exclude_binaries=True,
name='Clock_In.exe',
debug=False,
strip=None,
upx=True,
console=True,
icon="C:\Users\Sal\Desktop\Raindropmemory-Legendora-BrokenSword.ico")
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=None,
upx=True,
**name='Clock_In')
EDIT 2
I am using 32-Bit python on a 64-bit OS(windows 8) and it has been brought to my attention that this could potentially be causing my issue, but still no solution.
EDIT 3
So i have just tried download 64-bit python and putting it in my system path. ran pyinstaller with my .spec file and still got the exact same error code! What is going on here! A curious detail though is that the icon="C:\Users\Sal\Desktop\Raindropmemory-Legendora-BrokenSword.ico")
statement from spec file executed and updated the icon successfully, where as before it would not.
EDIT 4
This is the statement i have in my code for MEIPASS straight from the documentation.
if getattr(sys, 'frozen', False):
# we are running in a |PyInstaller| bundle
basedir = sys._MEIPASS
else:
# we are running in a normal Python environment
basedir = os.path.dirname(__file__)
Upvotes: 13
Views: 33607
Reputation: 21
Having the same issue on python3.7 on windows 10.
Fixed this by adding --upx-exclude"vcruntime140.dll"
option.
More info can be found here
Upvotes: 2
Reputation: 11
One simple thing to do is to delete all the stuff in the following folder: C:\Users\xxx\AppData\Roaming\pyinstaller. I've fixed the issue after I cleaned this folder. Maybe also delete all the files which are created by Pyinstaller last time.
Upvotes: 0
Reputation: 1
I encountered the same issue, and finally find the reason is anti-virus software treat "python27.dll" as a trojan, and deleted it when exe try to load.
The problem is solved by add "...\AppData\Local\Temp\" to trusted zone.
Upvotes: 0
Reputation: 36262
I found same error after creating a standalone executable like this:
pyi-makespec.exe -F program.py
## Customize script.spec just created
and
pyinstaller.exe -F script.spec
so I needed to run the executable as administrator to solve it.
I don't know the reason because it wasn't my computer. I had done the process in mine first and worked like a charm but not there. Perhaps some security configuration or a weird installation of python or wxpython, but I add this solution here because I was looking for hours without success, and it's a simple task that can save you some time before trying more complex approaches.
Upvotes: 9
Reputation: 216
You put that code snippet right at the top of the Python script you are turning into an executable - not in the spec and not in its own script. I found an example here:
https://shanetully.com/2013/08/cross-platform-deployment-of-python-applications-with-pyinstaller/
Upvotes: 4