[英]Error loading python27.dll error for pyinstaller
我已成功編輯了我的spec文件,並將包含我數據的文件夾添加到其中。 它構建正常,但仍然無法訪問數據。 當我嘗試運行已編譯的.exe時,我收到此錯誤: Error loading Python DLL: C:\\Users\\Sal\\AppData\\Local\\Temp\\_MEI60122\\python27.dll (error code 126)
編輯1 -我仍然沒有想到我的spec文件看起來像這樣:
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')
編輯2
我在64位操作系統(Windows 8)上使用32位python,我注意到這可能會導致我的問題,但仍然沒有解決方案。
編輯3
所以我剛剛嘗試下載64位python並將其放入我的系統路徑中。 用我的.spec文件運行pyinstaller仍然得到完全相同的錯誤代碼! 這里發生了什么! 一個奇怪的細節雖然是來自spec文件的icon="C:\\Users\\Sal\\Desktop\\Raindropmemory-Legendora-BrokenSword.ico")
語句已成功執行並更新了圖標,而之前不會這樣。
編輯4
這是我在MEIPASS代碼中直接從文檔中得到的聲明。
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__)
您將該代碼段放在Python腳本的頂部,您將變成一個可執行文件 - 不在規范中而不是在自己的腳本中。 我在這里找到了一個例子:
https://shanetully.com/2013/08/cross-platform-deployment-of-python-applications-with-pyinstaller/
我遇到了同樣的問題,終於找到原因是殺毒軟件將“python27.dll”視為木馬,並在exe嘗試加載時將其刪除。
通過將“... \\ AppData \\ Local \\ Temp \\”添加到受信任區域來解決該問題。
一件簡單的事情是刪除以下文件夾中的所有內容:C:\\ Users \\ xxx \\ AppData \\ Roaming \\ pyinstaller。 我清理了這個文件夾后修復了這個問題。 也許還會刪除上次由Pyinstaller創建的所有文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.