Clayton Merkle
unread,May 29, 2020, 12:31:08 PM5/29/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to PyInstaller
Hello, I am currently trying to build a standalone executable for a PyQt5 GUI application on a Windows 10 machine. The executable builds and runs fine on the machine on which it was built, but when I move the exe file to another windows machine and attempt to run it, I get the following error:
Error loading Python DLL
'C:\Users\CLAYTON.MERKLE\AppData\Local\Temp\_MEI143762\python37.dll
LoadLibrary: Access is denied.
The weird thing is I only receive this error when I try to run the exe file from certain directories. For example, I get this error if I run the exe from my Documents folder, but it runs just fine from the Desktop. However, when I sent the executable to a coworker, he received this error no matter where he ran it from.
Also, if I change the runtime tempdir to ‘.’ So the _MEI folder unpacks in the directory where the exe is located rather than the %temp% folder it works fine.
The machines that we use are enterprise machines with a lot of security measures, and we do not have administrator privileges, so that could be part of the problem, however once again on my machine the exe runs successfully from some directories which makes me think it may not be a permissions issue. I am building the executable with the following command:
pyinstaller --windowed --clean "PyFatigue.spec"
My .spec file is as follows:
# -*- mode: python -*-
import sys
sys.setrecursionlimit(5000)
import os
site_packages = next(p for p in sys.path if 'site-packages' in p)
block_cipher = None
a = Analysis(['PyFatigue.py'],
pathex=[os.getcwd()],
binaries=[],
datas=[('PyFatigue.ui','.'),('sizeKnockdownDlg.ui','.'),('PyFatigue_rc.py','.'),('icons','icons')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=['babel'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
for d in a.datas:
if '_C.cp37-win_amd64' in d[0]:
a.datas.remove(d)
break
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='PyFatigue',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
icon='icons/python-logo.ico' )
Please help me resolve this issue. Thank you