简体   繁体   中英

Error loading python27.dll error for pyinstaller

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__)

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 or , 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.

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/

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.

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM