[英]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.